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.
@@ -0,0 +1,3557 @@
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
+ module Types
11
+
12
+ # Contains the output of DescribeScalingActivities.
13
+ # @!attribute [rw] activities
14
+ # The scaling activities. Activities are sorted by start time.
15
+ # Activities still in progress are described first.
16
+ # @return [Array<Types::Activity>]
17
+ #
18
+ # @!attribute [rw] next_token
19
+ # The token to use when requesting the next set of items. If there are
20
+ # no additional items to return, the string is empty.
21
+ # @return [String]
22
+ class ActivitiesType < Struct.new(
23
+ :activities,
24
+ :next_token)
25
+ include Aws::Structure
26
+ end
27
+
28
+ # Describes scaling activity, which is a long-running process that
29
+ # represents a change to your Auto Scaling group, such as changing its
30
+ # size or replacing an instance.
31
+ # @!attribute [rw] activity_id
32
+ # The ID of the activity.
33
+ # @return [String]
34
+ #
35
+ # @!attribute [rw] auto_scaling_group_name
36
+ # The name of the Auto Scaling group.
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] description
40
+ # A friendly, more verbose description of the activity.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [rw] cause
44
+ # The reason the activity began.
45
+ # @return [String]
46
+ #
47
+ # @!attribute [rw] start_time
48
+ # The start time of the activity.
49
+ # @return [Time]
50
+ #
51
+ # @!attribute [rw] end_time
52
+ # The end time of the activity.
53
+ # @return [Time]
54
+ #
55
+ # @!attribute [rw] status_code
56
+ # The current status of the activity.
57
+ # @return [String]
58
+ #
59
+ # @!attribute [rw] status_message
60
+ # A friendly, more verbose description of the activity status.
61
+ # @return [String]
62
+ #
63
+ # @!attribute [rw] progress
64
+ # A value between 0 and 100 that indicates the progress of the
65
+ # activity.
66
+ # @return [Integer]
67
+ #
68
+ # @!attribute [rw] details
69
+ # The details about the activity.
70
+ # @return [String]
71
+ class Activity < Struct.new(
72
+ :activity_id,
73
+ :auto_scaling_group_name,
74
+ :description,
75
+ :cause,
76
+ :start_time,
77
+ :end_time,
78
+ :status_code,
79
+ :status_message,
80
+ :progress,
81
+ :details)
82
+ include Aws::Structure
83
+ end
84
+
85
+ # Contains the output of TerminateInstancesInAutoScalingGroup.
86
+ # @!attribute [rw] activity
87
+ # A scaling activity.
88
+ # @return [Types::Activity]
89
+ class ActivityType < Struct.new(
90
+ :activity)
91
+ include Aws::Structure
92
+ end
93
+
94
+ # Describes a policy adjustment type.
95
+ #
96
+ # For more information, see [Dynamic Scaling][1] in the *Auto Scaling
97
+ # User Guide*.
98
+ #
99
+ #
100
+ #
101
+ # [1]: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html
102
+ # @!attribute [rw] adjustment_type
103
+ # The policy adjustment type. The valid values are `ChangeInCapacity`,
104
+ # `ExactCapacity`, and `PercentChangeInCapacity`.
105
+ # @return [String]
106
+ class AdjustmentType < Struct.new(
107
+ :adjustment_type)
108
+ include Aws::Structure
109
+ end
110
+
111
+ # Describes an alarm.
112
+ # @!attribute [rw] alarm_name
113
+ # The name of the alarm.
114
+ # @return [String]
115
+ #
116
+ # @!attribute [rw] alarm_arn
117
+ # The Amazon Resource Name (ARN) of the alarm.
118
+ # @return [String]
119
+ class Alarm < Struct.new(
120
+ :alarm_name,
121
+ :alarm_arn)
122
+ include Aws::Structure
123
+ end
124
+
125
+ # Contains the parameters for AttachInstances.
126
+ # @note When making an API call, pass AttachInstancesQuery
127
+ # data as a hash:
128
+ #
129
+ # {
130
+ # instance_ids: ["XmlStringMaxLen19"],
131
+ # auto_scaling_group_name: "ResourceName", # required
132
+ # }
133
+ # @!attribute [rw] instance_ids
134
+ # One or more instance IDs.
135
+ # @return [Array<String>]
136
+ #
137
+ # @!attribute [rw] auto_scaling_group_name
138
+ # The name of the group.
139
+ # @return [String]
140
+ class AttachInstancesQuery < Struct.new(
141
+ :instance_ids,
142
+ :auto_scaling_group_name)
143
+ include Aws::Structure
144
+ end
145
+
146
+ class AttachLoadBalancerTargetGroupsResultType < Aws::EmptyStructure; end
147
+
148
+ # Contains the parameters for AttachLoadBalancerTargetGroups.
149
+ # @note When making an API call, pass AttachLoadBalancerTargetGroupsType
150
+ # data as a hash:
151
+ #
152
+ # {
153
+ # auto_scaling_group_name: "ResourceName", # required
154
+ # target_group_arns: ["XmlStringMaxLen511"], # required
155
+ # }
156
+ # @!attribute [rw] auto_scaling_group_name
157
+ # The name of the Auto Scaling group.
158
+ # @return [String]
159
+ #
160
+ # @!attribute [rw] target_group_arns
161
+ # The Amazon Resource Names (ARN) of the target groups.
162
+ # @return [Array<String>]
163
+ class AttachLoadBalancerTargetGroupsType < Struct.new(
164
+ :auto_scaling_group_name,
165
+ :target_group_arns)
166
+ include Aws::Structure
167
+ end
168
+
169
+ # Contains the output of AttachLoadBalancers.
170
+ class AttachLoadBalancersResultType < Aws::EmptyStructure; end
171
+
172
+ # Contains the parameters for AttachLoadBalancers.
173
+ # @note When making an API call, pass AttachLoadBalancersType
174
+ # data as a hash:
175
+ #
176
+ # {
177
+ # auto_scaling_group_name: "ResourceName", # required
178
+ # load_balancer_names: ["XmlStringMaxLen255"], # required
179
+ # }
180
+ # @!attribute [rw] auto_scaling_group_name
181
+ # The name of the group.
182
+ # @return [String]
183
+ #
184
+ # @!attribute [rw] load_balancer_names
185
+ # One or more load balancer names.
186
+ # @return [Array<String>]
187
+ class AttachLoadBalancersType < Struct.new(
188
+ :auto_scaling_group_name,
189
+ :load_balancer_names)
190
+ include Aws::Structure
191
+ end
192
+
193
+ # Describes an Auto Scaling group.
194
+ # @!attribute [rw] auto_scaling_group_name
195
+ # The name of the group.
196
+ # @return [String]
197
+ #
198
+ # @!attribute [rw] auto_scaling_group_arn
199
+ # The Amazon Resource Name (ARN) of the group.
200
+ # @return [String]
201
+ #
202
+ # @!attribute [rw] launch_configuration_name
203
+ # The name of the associated launch configuration.
204
+ # @return [String]
205
+ #
206
+ # @!attribute [rw] min_size
207
+ # The minimum size of the group.
208
+ # @return [Integer]
209
+ #
210
+ # @!attribute [rw] max_size
211
+ # The maximum size of the group.
212
+ # @return [Integer]
213
+ #
214
+ # @!attribute [rw] desired_capacity
215
+ # The desired size of the group.
216
+ # @return [Integer]
217
+ #
218
+ # @!attribute [rw] default_cooldown
219
+ # The amount of time, in seconds, after a scaling activity completes
220
+ # before another scaling activity can start.
221
+ # @return [Integer]
222
+ #
223
+ # @!attribute [rw] availability_zones
224
+ # One or more Availability Zones for the group.
225
+ # @return [Array<String>]
226
+ #
227
+ # @!attribute [rw] load_balancer_names
228
+ # One or more load balancers associated with the group.
229
+ # @return [Array<String>]
230
+ #
231
+ # @!attribute [rw] target_group_arns
232
+ # The Amazon Resource Names (ARN) of the target groups for your load
233
+ # balancer.
234
+ # @return [Array<String>]
235
+ #
236
+ # @!attribute [rw] health_check_type
237
+ # The service to use for the health checks. The valid values are `EC2`
238
+ # and `ELB`.
239
+ # @return [String]
240
+ #
241
+ # @!attribute [rw] health_check_grace_period
242
+ # The amount of time, in seconds, that Auto Scaling waits before
243
+ # checking the health status of an EC2 instance that has come into
244
+ # service.
245
+ # @return [Integer]
246
+ #
247
+ # @!attribute [rw] instances
248
+ # The EC2 instances associated with the group.
249
+ # @return [Array<Types::Instance>]
250
+ #
251
+ # @!attribute [rw] created_time
252
+ # The date and time the group was created.
253
+ # @return [Time]
254
+ #
255
+ # @!attribute [rw] suspended_processes
256
+ # The suspended processes associated with the group.
257
+ # @return [Array<Types::SuspendedProcess>]
258
+ #
259
+ # @!attribute [rw] placement_group
260
+ # The name of the placement group into which you'll launch your
261
+ # instances, if any. For more information, see [Placement Groups][1]
262
+ # in the *Amazon Elastic Compute Cloud User Guide*.
263
+ #
264
+ #
265
+ #
266
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
267
+ # @return [String]
268
+ #
269
+ # @!attribute [rw] vpc_zone_identifier
270
+ # One or more subnet IDs, if applicable, separated by commas.
271
+ #
272
+ # If you specify `VPCZoneIdentifier` and `AvailabilityZones`, ensure
273
+ # that the Availability Zones of the subnets match the values for
274
+ # `AvailabilityZones`.
275
+ # @return [String]
276
+ #
277
+ # @!attribute [rw] enabled_metrics
278
+ # The metrics enabled for the group.
279
+ # @return [Array<Types::EnabledMetric>]
280
+ #
281
+ # @!attribute [rw] status
282
+ # The current state of the group when DeleteAutoScalingGroup is in
283
+ # progress.
284
+ # @return [String]
285
+ #
286
+ # @!attribute [rw] tags
287
+ # The tags for the group.
288
+ # @return [Array<Types::TagDescription>]
289
+ #
290
+ # @!attribute [rw] termination_policies
291
+ # The termination policies for the group.
292
+ # @return [Array<String>]
293
+ #
294
+ # @!attribute [rw] new_instances_protected_from_scale_in
295
+ # Indicates whether newly launched instances are protected from
296
+ # termination by Auto Scaling when scaling in.
297
+ # @return [Boolean]
298
+ class AutoScalingGroup < Struct.new(
299
+ :auto_scaling_group_name,
300
+ :auto_scaling_group_arn,
301
+ :launch_configuration_name,
302
+ :min_size,
303
+ :max_size,
304
+ :desired_capacity,
305
+ :default_cooldown,
306
+ :availability_zones,
307
+ :load_balancer_names,
308
+ :target_group_arns,
309
+ :health_check_type,
310
+ :health_check_grace_period,
311
+ :instances,
312
+ :created_time,
313
+ :suspended_processes,
314
+ :placement_group,
315
+ :vpc_zone_identifier,
316
+ :enabled_metrics,
317
+ :status,
318
+ :tags,
319
+ :termination_policies,
320
+ :new_instances_protected_from_scale_in)
321
+ include Aws::Structure
322
+ end
323
+
324
+ # Contains the parameters for DescribeAutoScalingGroups.
325
+ # @note When making an API call, pass AutoScalingGroupNamesType
326
+ # data as a hash:
327
+ #
328
+ # {
329
+ # auto_scaling_group_names: ["ResourceName"],
330
+ # next_token: "XmlString",
331
+ # max_records: 1,
332
+ # }
333
+ # @!attribute [rw] auto_scaling_group_names
334
+ # The group names. If you omit this parameter, all Auto Scaling groups
335
+ # are described.
336
+ # @return [Array<String>]
337
+ #
338
+ # @!attribute [rw] next_token
339
+ # The token for the next set of items to return. (You received this
340
+ # token from a previous call.)
341
+ # @return [String]
342
+ #
343
+ # @!attribute [rw] max_records
344
+ # The maximum number of items to return with this call.
345
+ # @return [Integer]
346
+ class AutoScalingGroupNamesType < Struct.new(
347
+ :auto_scaling_group_names,
348
+ :next_token,
349
+ :max_records)
350
+ include Aws::Structure
351
+ end
352
+
353
+ # Contains the output for DescribeAutoScalingGroups.
354
+ # @!attribute [rw] auto_scaling_groups
355
+ # The groups.
356
+ # @return [Array<Types::AutoScalingGroup>]
357
+ #
358
+ # @!attribute [rw] next_token
359
+ # The token to use when requesting the next set of items. If there are
360
+ # no additional items to return, the string is empty.
361
+ # @return [String]
362
+ class AutoScalingGroupsType < Struct.new(
363
+ :auto_scaling_groups,
364
+ :next_token)
365
+ include Aws::Structure
366
+ end
367
+
368
+ # Describes an EC2 instance associated with an Auto Scaling group.
369
+ # @!attribute [rw] instance_id
370
+ # The ID of the instance.
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] auto_scaling_group_name
374
+ # The name of the Auto Scaling group associated with the instance.
375
+ # @return [String]
376
+ #
377
+ # @!attribute [rw] availability_zone
378
+ # The Availability Zone for the instance.
379
+ # @return [String]
380
+ #
381
+ # @!attribute [rw] lifecycle_state
382
+ # The lifecycle state for the instance. For more information, see
383
+ # [Auto Scaling Lifecycle][1] in the *Auto Scaling User Guide*.
384
+ #
385
+ #
386
+ #
387
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroupLifecycle.html
388
+ # @return [String]
389
+ #
390
+ # @!attribute [rw] health_status
391
+ # The last reported health status of this instance. "Healthy" means
392
+ # that the instance is healthy and should remain in service.
393
+ # "Unhealthy" means that the instance is unhealthy and Auto Scaling
394
+ # should terminate and replace it.
395
+ # @return [String]
396
+ #
397
+ # @!attribute [rw] launch_configuration_name
398
+ # The launch configuration associated with the instance.
399
+ # @return [String]
400
+ #
401
+ # @!attribute [rw] protected_from_scale_in
402
+ # Indicates whether the instance is protected from termination by Auto
403
+ # Scaling when scaling in.
404
+ # @return [Boolean]
405
+ class AutoScalingInstanceDetails < Struct.new(
406
+ :instance_id,
407
+ :auto_scaling_group_name,
408
+ :availability_zone,
409
+ :lifecycle_state,
410
+ :health_status,
411
+ :launch_configuration_name,
412
+ :protected_from_scale_in)
413
+ include Aws::Structure
414
+ end
415
+
416
+ # Contains the output of DescribeAutoScalingInstances.
417
+ # @!attribute [rw] auto_scaling_instances
418
+ # The instances.
419
+ # @return [Array<Types::AutoScalingInstanceDetails>]
420
+ #
421
+ # @!attribute [rw] next_token
422
+ # The token to use when requesting the next set of items. If there are
423
+ # no additional items to return, the string is empty.
424
+ # @return [String]
425
+ class AutoScalingInstancesType < Struct.new(
426
+ :auto_scaling_instances,
427
+ :next_token)
428
+ include Aws::Structure
429
+ end
430
+
431
+ # Describes a block device mapping.
432
+ # @note When making an API call, pass BlockDeviceMapping
433
+ # data as a hash:
434
+ #
435
+ # {
436
+ # virtual_name: "XmlStringMaxLen255",
437
+ # device_name: "XmlStringMaxLen255", # required
438
+ # ebs: {
439
+ # snapshot_id: "XmlStringMaxLen255",
440
+ # volume_size: 1,
441
+ # volume_type: "BlockDeviceEbsVolumeType",
442
+ # delete_on_termination: false,
443
+ # iops: 1,
444
+ # encrypted: false,
445
+ # },
446
+ # no_device: false,
447
+ # }
448
+ # @!attribute [rw] virtual_name
449
+ # The name of the virtual device (for example, `ephemeral0`).
450
+ # @return [String]
451
+ #
452
+ # @!attribute [rw] device_name
453
+ # The device name exposed to the EC2 instance (for example, `/dev/sdh`
454
+ # or `xvdh`).
455
+ # @return [String]
456
+ #
457
+ # @!attribute [rw] ebs
458
+ # The information about the Amazon EBS volume.
459
+ # @return [Types::Ebs]
460
+ #
461
+ # @!attribute [rw] no_device
462
+ # Suppresses a device mapping.
463
+ #
464
+ # If this parameter is true for the root device, the instance might
465
+ # fail the EC2 health check. Auto Scaling launches a replacement
466
+ # instance if the instance fails the health check.
467
+ # @return [Boolean]
468
+ class BlockDeviceMapping < Struct.new(
469
+ :virtual_name,
470
+ :device_name,
471
+ :ebs,
472
+ :no_device)
473
+ include Aws::Structure
474
+ end
475
+
476
+ # Contains the output of CompleteLifecycleAction.
477
+ class CompleteLifecycleActionAnswer < Aws::EmptyStructure; end
478
+
479
+ # Contains the parameters for CompleteLifecycleAction.
480
+ # @note When making an API call, pass CompleteLifecycleActionType
481
+ # data as a hash:
482
+ #
483
+ # {
484
+ # lifecycle_hook_name: "AsciiStringMaxLen255", # required
485
+ # auto_scaling_group_name: "ResourceName", # required
486
+ # lifecycle_action_token: "LifecycleActionToken",
487
+ # lifecycle_action_result: "LifecycleActionResult", # required
488
+ # instance_id: "XmlStringMaxLen19",
489
+ # }
490
+ # @!attribute [rw] lifecycle_hook_name
491
+ # The name of the lifecycle hook.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] auto_scaling_group_name
495
+ # The name of the group for the lifecycle hook.
496
+ # @return [String]
497
+ #
498
+ # @!attribute [rw] lifecycle_action_token
499
+ # A universally unique identifier (UUID) that identifies a specific
500
+ # lifecycle action associated with an instance. Auto Scaling sends
501
+ # this token to the notification target you specified when you created
502
+ # the lifecycle hook.
503
+ # @return [String]
504
+ #
505
+ # @!attribute [rw] lifecycle_action_result
506
+ # The action for the group to take. This parameter can be either
507
+ # `CONTINUE` or `ABANDON`.
508
+ # @return [String]
509
+ #
510
+ # @!attribute [rw] instance_id
511
+ # The ID of the instance.
512
+ # @return [String]
513
+ class CompleteLifecycleActionType < Struct.new(
514
+ :lifecycle_hook_name,
515
+ :auto_scaling_group_name,
516
+ :lifecycle_action_token,
517
+ :lifecycle_action_result,
518
+ :instance_id)
519
+ include Aws::Structure
520
+ end
521
+
522
+ # Contains the parameters for CreateAutoScalingGroup.
523
+ # @note When making an API call, pass CreateAutoScalingGroupType
524
+ # data as a hash:
525
+ #
526
+ # {
527
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
528
+ # launch_configuration_name: "ResourceName",
529
+ # instance_id: "XmlStringMaxLen19",
530
+ # min_size: 1, # required
531
+ # max_size: 1, # required
532
+ # desired_capacity: 1,
533
+ # default_cooldown: 1,
534
+ # availability_zones: ["XmlStringMaxLen255"],
535
+ # load_balancer_names: ["XmlStringMaxLen255"],
536
+ # target_group_arns: ["XmlStringMaxLen511"],
537
+ # health_check_type: "XmlStringMaxLen32",
538
+ # health_check_grace_period: 1,
539
+ # placement_group: "XmlStringMaxLen255",
540
+ # vpc_zone_identifier: "XmlStringMaxLen2047",
541
+ # termination_policies: ["XmlStringMaxLen1600"],
542
+ # new_instances_protected_from_scale_in: false,
543
+ # tags: [
544
+ # {
545
+ # resource_id: "XmlString",
546
+ # resource_type: "XmlString",
547
+ # key: "TagKey", # required
548
+ # value: "TagValue",
549
+ # propagate_at_launch: false,
550
+ # },
551
+ # ],
552
+ # }
553
+ # @!attribute [rw] auto_scaling_group_name
554
+ # The name of the group. This name must be unique within the scope of
555
+ # your AWS account.
556
+ # @return [String]
557
+ #
558
+ # @!attribute [rw] launch_configuration_name
559
+ # The name of the launch configuration. Alternatively, specify an EC2
560
+ # instance instead of a launch configuration.
561
+ # @return [String]
562
+ #
563
+ # @!attribute [rw] instance_id
564
+ # The ID of the instance used to create a launch configuration for the
565
+ # group. Alternatively, specify a launch configuration instead of an
566
+ # EC2 instance.
567
+ #
568
+ # When you specify an ID of an instance, Auto Scaling creates a new
569
+ # launch configuration and associates it with the group. This launch
570
+ # configuration derives its attributes from the specified instance,
571
+ # with the exception of the block device mapping.
572
+ #
573
+ # For more information, see [Create an Auto Scaling Group Using an EC2
574
+ # Instance][1] in the *Auto Scaling User Guide*.
575
+ #
576
+ #
577
+ #
578
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/create-asg-from-instance.html
579
+ # @return [String]
580
+ #
581
+ # @!attribute [rw] min_size
582
+ # The minimum size of the group.
583
+ # @return [Integer]
584
+ #
585
+ # @!attribute [rw] max_size
586
+ # The maximum size of the group.
587
+ # @return [Integer]
588
+ #
589
+ # @!attribute [rw] desired_capacity
590
+ # The number of EC2 instances that should be running in the group.
591
+ # This number must be greater than or equal to the minimum size of the
592
+ # group and less than or equal to the maximum size of the group.
593
+ # @return [Integer]
594
+ #
595
+ # @!attribute [rw] default_cooldown
596
+ # The amount of time, in seconds, after a scaling activity completes
597
+ # before another scaling activity can start. The default is 300.
598
+ #
599
+ # For more information, see [Auto Scaling Cooldowns][1] in the *Auto
600
+ # Scaling User Guide*.
601
+ #
602
+ #
603
+ #
604
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/Cooldown.html
605
+ # @return [Integer]
606
+ #
607
+ # @!attribute [rw] availability_zones
608
+ # One or more Availability Zones for the group. This parameter is
609
+ # optional if you specify one or more subnets.
610
+ # @return [Array<String>]
611
+ #
612
+ # @!attribute [rw] load_balancer_names
613
+ # One or more Classic load balancers. To specify an Application load
614
+ # balancer, use `TargetGroupARNs` instead.
615
+ #
616
+ # For more information, see [Using a Load Balancer With an Auto
617
+ # Scaling Group][1] in the *Auto Scaling User Guide*.
618
+ #
619
+ #
620
+ #
621
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/create-asg-from-instance.html
622
+ # @return [Array<String>]
623
+ #
624
+ # @!attribute [rw] target_group_arns
625
+ # The Amazon Resource Names (ARN) of the target groups.
626
+ # @return [Array<String>]
627
+ #
628
+ # @!attribute [rw] health_check_type
629
+ # The service to use for the health checks. The valid values are `EC2`
630
+ # and `ELB`.
631
+ #
632
+ # By default, health checks use Amazon EC2 instance status checks to
633
+ # determine the health of an instance. For more information, see
634
+ # [Health Checks][1] in the *Auto Scaling User Guide*.
635
+ #
636
+ #
637
+ #
638
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/healthcheck.html
639
+ # @return [String]
640
+ #
641
+ # @!attribute [rw] health_check_grace_period
642
+ # The amount of time, in seconds, that Auto Scaling waits before
643
+ # checking the health status of an EC2 instance that has come into
644
+ # service. During this time, any health check failures for the
645
+ # instance are ignored. The default is 0.
646
+ #
647
+ # This parameter is required if you are adding an `ELB` health check.
648
+ #
649
+ # For more information, see [Health Checks][1] in the *Auto Scaling
650
+ # User Guide*.
651
+ #
652
+ #
653
+ #
654
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/healthcheck.html
655
+ # @return [Integer]
656
+ #
657
+ # @!attribute [rw] placement_group
658
+ # The name of the placement group into which you'll launch your
659
+ # instances, if any. For more information, see [Placement Groups][1]
660
+ # in the *Amazon Elastic Compute Cloud User Guide*.
661
+ #
662
+ #
663
+ #
664
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
665
+ # @return [String]
666
+ #
667
+ # @!attribute [rw] vpc_zone_identifier
668
+ # A comma-separated list of subnet identifiers for your virtual
669
+ # private cloud (VPC).
670
+ #
671
+ # If you specify subnets and Availability Zones with this call, ensure
672
+ # that the subnets' Availability Zones match the Availability Zones
673
+ # specified.
674
+ #
675
+ # For more information, see [Launching Auto Scaling Instances in a
676
+ # VPC][1] in the *Auto Scaling User Guide*.
677
+ #
678
+ #
679
+ #
680
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/asg-in-vpc.html
681
+ # @return [String]
682
+ #
683
+ # @!attribute [rw] termination_policies
684
+ # One or more termination policies used to select the instance to
685
+ # terminate. These policies are executed in the order that they are
686
+ # listed.
687
+ #
688
+ # For more information, see [Controlling Which Instances Auto Scaling
689
+ # Terminates During Scale In][1] in the *Auto Scaling User Guide*.
690
+ #
691
+ #
692
+ #
693
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-termination.html
694
+ # @return [Array<String>]
695
+ #
696
+ # @!attribute [rw] new_instances_protected_from_scale_in
697
+ # Indicates whether newly launched instances are protected from
698
+ # termination by Auto Scaling when scaling in.
699
+ # @return [Boolean]
700
+ #
701
+ # @!attribute [rw] tags
702
+ # One or more tags.
703
+ #
704
+ # For more information, see [Tagging Auto Scaling Groups and
705
+ # Instances][1] in the *Auto Scaling User Guide*.
706
+ #
707
+ #
708
+ #
709
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/autoscaling-tagging.html
710
+ # @return [Array<Types::Tag>]
711
+ class CreateAutoScalingGroupType < Struct.new(
712
+ :auto_scaling_group_name,
713
+ :launch_configuration_name,
714
+ :instance_id,
715
+ :min_size,
716
+ :max_size,
717
+ :desired_capacity,
718
+ :default_cooldown,
719
+ :availability_zones,
720
+ :load_balancer_names,
721
+ :target_group_arns,
722
+ :health_check_type,
723
+ :health_check_grace_period,
724
+ :placement_group,
725
+ :vpc_zone_identifier,
726
+ :termination_policies,
727
+ :new_instances_protected_from_scale_in,
728
+ :tags)
729
+ include Aws::Structure
730
+ end
731
+
732
+ # Contains the parameters for CreateLaunchConfiguration.
733
+ # @note When making an API call, pass CreateLaunchConfigurationType
734
+ # data as a hash:
735
+ #
736
+ # {
737
+ # launch_configuration_name: "XmlStringMaxLen255", # required
738
+ # image_id: "XmlStringMaxLen255",
739
+ # key_name: "XmlStringMaxLen255",
740
+ # security_groups: ["XmlString"],
741
+ # classic_link_vpc_id: "XmlStringMaxLen255",
742
+ # classic_link_vpc_security_groups: ["XmlStringMaxLen255"],
743
+ # user_data: "XmlStringUserData",
744
+ # instance_id: "XmlStringMaxLen19",
745
+ # instance_type: "XmlStringMaxLen255",
746
+ # kernel_id: "XmlStringMaxLen255",
747
+ # ramdisk_id: "XmlStringMaxLen255",
748
+ # block_device_mappings: [
749
+ # {
750
+ # virtual_name: "XmlStringMaxLen255",
751
+ # device_name: "XmlStringMaxLen255", # required
752
+ # ebs: {
753
+ # snapshot_id: "XmlStringMaxLen255",
754
+ # volume_size: 1,
755
+ # volume_type: "BlockDeviceEbsVolumeType",
756
+ # delete_on_termination: false,
757
+ # iops: 1,
758
+ # encrypted: false,
759
+ # },
760
+ # no_device: false,
761
+ # },
762
+ # ],
763
+ # instance_monitoring: {
764
+ # enabled: false,
765
+ # },
766
+ # spot_price: "SpotPrice",
767
+ # iam_instance_profile: "XmlStringMaxLen1600",
768
+ # ebs_optimized: false,
769
+ # associate_public_ip_address: false,
770
+ # placement_tenancy: "XmlStringMaxLen64",
771
+ # }
772
+ # @!attribute [rw] launch_configuration_name
773
+ # The name of the launch configuration. This name must be unique
774
+ # within the scope of your AWS account.
775
+ # @return [String]
776
+ #
777
+ # @!attribute [rw] image_id
778
+ # The ID of the Amazon Machine Image (AMI) to use to launch your EC2
779
+ # instances. For more information, see [Finding an AMI][1] in the
780
+ # *Amazon Elastic Compute Cloud User Guide*.
781
+ #
782
+ #
783
+ #
784
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html
785
+ # @return [String]
786
+ #
787
+ # @!attribute [rw] key_name
788
+ # The name of the key pair. For more information, see [Amazon EC2 Key
789
+ # Pairs][1] in the *Amazon Elastic Compute Cloud User Guide*.
790
+ #
791
+ #
792
+ #
793
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
794
+ # @return [String]
795
+ #
796
+ # @!attribute [rw] security_groups
797
+ # One or more security groups with which to associate the instances.
798
+ #
799
+ # If your instances are launched in EC2-Classic, you can either
800
+ # specify security group names or the security group IDs. For more
801
+ # information about security groups for EC2-Classic, see [Amazon EC2
802
+ # Security Groups][1] in the *Amazon Elastic Compute Cloud User
803
+ # Guide*.
804
+ #
805
+ # If your instances are launched into a VPC, specify security group
806
+ # IDs. For more information, see [Security Groups for Your VPC][2] in
807
+ # the *Amazon Virtual Private Cloud User Guide*.
808
+ #
809
+ #
810
+ #
811
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
812
+ # [2]: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
813
+ # @return [Array<String>]
814
+ #
815
+ # @!attribute [rw] classic_link_vpc_id
816
+ # The ID of a ClassicLink-enabled VPC to link your EC2-Classic
817
+ # instances to. This parameter is supported only if you are launching
818
+ # EC2-Classic instances. For more information, see [ClassicLink][1] in
819
+ # the *Amazon Elastic Compute Cloud User Guide*.
820
+ #
821
+ #
822
+ #
823
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] classic_link_vpc_security_groups
827
+ # The IDs of one or more security groups for the specified
828
+ # ClassicLink-enabled VPC. This parameter is required if you specify a
829
+ # ClassicLink-enabled VPC, and is not supported otherwise. For more
830
+ # information, see [ClassicLink][1] in the *Amazon Elastic Compute
831
+ # Cloud User Guide*.
832
+ #
833
+ #
834
+ #
835
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
836
+ # @return [Array<String>]
837
+ #
838
+ # @!attribute [rw] user_data
839
+ # The user data to make available to the launched EC2 instances. For
840
+ # more information, see [Instance Metadata and User Data][1] in the
841
+ # *Amazon Elastic Compute Cloud User Guide*.
842
+ #
843
+ #
844
+ #
845
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
846
+ # @return [String]
847
+ #
848
+ # @!attribute [rw] instance_id
849
+ # The ID of the instance to use to create the launch configuration.
850
+ #
851
+ # The new launch configuration derives attributes from the instance,
852
+ # with the exception of the block device mapping.
853
+ #
854
+ # To create a launch configuration with a block device mapping or
855
+ # override any other instance attributes, specify them as part of the
856
+ # same request.
857
+ #
858
+ # For more information, see [Create a Launch Configuration Using an
859
+ # EC2 Instance][1] in the *Auto Scaling User Guide*.
860
+ #
861
+ #
862
+ #
863
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/create-lc-with-instanceID.html
864
+ # @return [String]
865
+ #
866
+ # @!attribute [rw] instance_type
867
+ # The instance type of the EC2 instance. For information about
868
+ # available instance types, see [ Available Instance Types][1] in the
869
+ # *Amazon Elastic Compute Cloud User Guide.*
870
+ #
871
+ #
872
+ #
873
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes
874
+ # @return [String]
875
+ #
876
+ # @!attribute [rw] kernel_id
877
+ # The ID of the kernel associated with the AMI.
878
+ # @return [String]
879
+ #
880
+ # @!attribute [rw] ramdisk_id
881
+ # The ID of the RAM disk associated with the AMI.
882
+ # @return [String]
883
+ #
884
+ # @!attribute [rw] block_device_mappings
885
+ # One or more mappings that specify how block devices are exposed to
886
+ # the instance. For more information, see [Block Device Mapping][1] in
887
+ # the *Amazon Elastic Compute Cloud User Guide*.
888
+ #
889
+ #
890
+ #
891
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html
892
+ # @return [Array<Types::BlockDeviceMapping>]
893
+ #
894
+ # @!attribute [rw] instance_monitoring
895
+ # Enables detailed monitoring (`true`) or basic monitoring (`false`)
896
+ # for the Auto Scaling instances.
897
+ # @return [Types::InstanceMonitoring]
898
+ #
899
+ # @!attribute [rw] spot_price
900
+ # The maximum hourly price to be paid for any Spot Instance launched
901
+ # to fulfill the request. Spot Instances are launched when the price
902
+ # you specify exceeds the current Spot market price. For more
903
+ # information, see [Launching Spot Instances in Your Auto Scaling
904
+ # Group][1] in the *Auto Scaling User Guide*.
905
+ #
906
+ #
907
+ #
908
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/US-SpotInstances.html
909
+ # @return [String]
910
+ #
911
+ # @!attribute [rw] iam_instance_profile
912
+ # The name or the Amazon Resource Name (ARN) of the instance profile
913
+ # associated with the IAM role for the instance.
914
+ #
915
+ # EC2 instances launched with an IAM role will automatically have AWS
916
+ # security credentials available. You can use IAM roles with Auto
917
+ # Scaling to automatically enable applications running on your EC2
918
+ # instances to securely access other AWS resources. For more
919
+ # information, see [Launch Auto Scaling Instances with an IAM Role][1]
920
+ # in the *Auto Scaling User Guide*.
921
+ #
922
+ #
923
+ #
924
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/us-iam-role.html
925
+ # @return [String]
926
+ #
927
+ # @!attribute [rw] ebs_optimized
928
+ # Indicates whether the instance is optimized for Amazon EBS I/O. By
929
+ # default, the instance is not optimized for EBS I/O. The optimization
930
+ # provides dedicated throughput to Amazon EBS and an optimized
931
+ # configuration stack to provide optimal I/O performance. This
932
+ # optimization is not available with all instance types. Additional
933
+ # usage charges apply. For more information, see [Amazon EBS-Optimized
934
+ # Instances][1] in the *Amazon Elastic Compute Cloud User Guide*.
935
+ #
936
+ #
937
+ #
938
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
939
+ # @return [Boolean]
940
+ #
941
+ # @!attribute [rw] associate_public_ip_address
942
+ # Used for groups that launch instances into a virtual private cloud
943
+ # (VPC). Specifies whether to assign a public IP address to each
944
+ # instance. For more information, see [Launching Auto Scaling
945
+ # Instances in a VPC][1] in the *Auto Scaling User Guide*.
946
+ #
947
+ # If you specify this parameter, be sure to specify at least one
948
+ # subnet when you create your group.
949
+ #
950
+ # Default: If the instance is launched into a default subnet, the
951
+ # default is `true`. If the instance is launched into a nondefault
952
+ # subnet, the default is `false`. For more information, see [Supported
953
+ # Platforms][2] in the *Amazon Elastic Compute Cloud User Guide*.
954
+ #
955
+ #
956
+ #
957
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/asg-in-vpc.html
958
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html
959
+ # @return [Boolean]
960
+ #
961
+ # @!attribute [rw] placement_tenancy
962
+ # The tenancy of the instance. An instance with a tenancy of
963
+ # `dedicated` runs on single-tenant hardware and can only be launched
964
+ # into a VPC.
965
+ #
966
+ # You must set the value of this parameter to `dedicated` if want to
967
+ # launch Dedicated Instances into a shared tenancy VPC (VPC with
968
+ # instance placement tenancy attribute set to `default`).
969
+ #
970
+ # If you specify this parameter, be sure to specify at least one
971
+ # subnet when you create your group.
972
+ #
973
+ # For more information, see [Launching Auto Scaling Instances in a
974
+ # VPC][1] in the *Auto Scaling User Guide*.
975
+ #
976
+ # Valid values: `default` \| `dedicated`
977
+ #
978
+ #
979
+ #
980
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/asg-in-vpc.html
981
+ # @return [String]
982
+ class CreateLaunchConfigurationType < Struct.new(
983
+ :launch_configuration_name,
984
+ :image_id,
985
+ :key_name,
986
+ :security_groups,
987
+ :classic_link_vpc_id,
988
+ :classic_link_vpc_security_groups,
989
+ :user_data,
990
+ :instance_id,
991
+ :instance_type,
992
+ :kernel_id,
993
+ :ramdisk_id,
994
+ :block_device_mappings,
995
+ :instance_monitoring,
996
+ :spot_price,
997
+ :iam_instance_profile,
998
+ :ebs_optimized,
999
+ :associate_public_ip_address,
1000
+ :placement_tenancy)
1001
+ include Aws::Structure
1002
+ end
1003
+
1004
+ # Contains the parameters for CreateOrUpdateTags.
1005
+ # @note When making an API call, pass CreateOrUpdateTagsType
1006
+ # data as a hash:
1007
+ #
1008
+ # {
1009
+ # tags: [ # required
1010
+ # {
1011
+ # resource_id: "XmlString",
1012
+ # resource_type: "XmlString",
1013
+ # key: "TagKey", # required
1014
+ # value: "TagValue",
1015
+ # propagate_at_launch: false,
1016
+ # },
1017
+ # ],
1018
+ # }
1019
+ # @!attribute [rw] tags
1020
+ # One or more tags.
1021
+ # @return [Array<Types::Tag>]
1022
+ class CreateOrUpdateTagsType < Struct.new(
1023
+ :tags)
1024
+ include Aws::Structure
1025
+ end
1026
+
1027
+ # Contains the parameters for DeleteAutoScalingGroup.
1028
+ # @note When making an API call, pass DeleteAutoScalingGroupType
1029
+ # data as a hash:
1030
+ #
1031
+ # {
1032
+ # auto_scaling_group_name: "ResourceName", # required
1033
+ # force_delete: false,
1034
+ # }
1035
+ # @!attribute [rw] auto_scaling_group_name
1036
+ # The name of the group to delete.
1037
+ # @return [String]
1038
+ #
1039
+ # @!attribute [rw] force_delete
1040
+ # Specifies that the group will be deleted along with all instances
1041
+ # associated with the group, without waiting for all instances to be
1042
+ # terminated. This parameter also deletes any lifecycle actions
1043
+ # associated with the group.
1044
+ # @return [Boolean]
1045
+ class DeleteAutoScalingGroupType < Struct.new(
1046
+ :auto_scaling_group_name,
1047
+ :force_delete)
1048
+ include Aws::Structure
1049
+ end
1050
+
1051
+ # Contains the output of DeleteLifecycleHook.
1052
+ class DeleteLifecycleHookAnswer < Aws::EmptyStructure; end
1053
+
1054
+ # Contains the parameters for DeleteLifecycleHook.
1055
+ # @note When making an API call, pass DeleteLifecycleHookType
1056
+ # data as a hash:
1057
+ #
1058
+ # {
1059
+ # lifecycle_hook_name: "AsciiStringMaxLen255", # required
1060
+ # auto_scaling_group_name: "ResourceName", # required
1061
+ # }
1062
+ # @!attribute [rw] lifecycle_hook_name
1063
+ # The name of the lifecycle hook.
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] auto_scaling_group_name
1067
+ # The name of the Auto Scaling group for the lifecycle hook.
1068
+ # @return [String]
1069
+ class DeleteLifecycleHookType < Struct.new(
1070
+ :lifecycle_hook_name,
1071
+ :auto_scaling_group_name)
1072
+ include Aws::Structure
1073
+ end
1074
+
1075
+ # Contains the parameters for DeleteNotificationConfiguration.
1076
+ # @note When making an API call, pass DeleteNotificationConfigurationType
1077
+ # data as a hash:
1078
+ #
1079
+ # {
1080
+ # auto_scaling_group_name: "ResourceName", # required
1081
+ # topic_arn: "ResourceName", # required
1082
+ # }
1083
+ # @!attribute [rw] auto_scaling_group_name
1084
+ # The name of the Auto Scaling group.
1085
+ # @return [String]
1086
+ #
1087
+ # @!attribute [rw] topic_arn
1088
+ # The Amazon Resource Name (ARN) of the Amazon Simple Notification
1089
+ # Service (SNS) topic.
1090
+ # @return [String]
1091
+ class DeleteNotificationConfigurationType < Struct.new(
1092
+ :auto_scaling_group_name,
1093
+ :topic_arn)
1094
+ include Aws::Structure
1095
+ end
1096
+
1097
+ # Contains the parameters for DeletePolicy.
1098
+ # @note When making an API call, pass DeletePolicyType
1099
+ # data as a hash:
1100
+ #
1101
+ # {
1102
+ # auto_scaling_group_name: "ResourceName",
1103
+ # policy_name: "ResourceName", # required
1104
+ # }
1105
+ # @!attribute [rw] auto_scaling_group_name
1106
+ # The name of the Auto Scaling group.
1107
+ # @return [String]
1108
+ #
1109
+ # @!attribute [rw] policy_name
1110
+ # The name or Amazon Resource Name (ARN) of the policy.
1111
+ # @return [String]
1112
+ class DeletePolicyType < Struct.new(
1113
+ :auto_scaling_group_name,
1114
+ :policy_name)
1115
+ include Aws::Structure
1116
+ end
1117
+
1118
+ # Contains the parameters for DeleteScheduledAction.
1119
+ # @note When making an API call, pass DeleteScheduledActionType
1120
+ # data as a hash:
1121
+ #
1122
+ # {
1123
+ # auto_scaling_group_name: "ResourceName", # required
1124
+ # scheduled_action_name: "ResourceName", # required
1125
+ # }
1126
+ # @!attribute [rw] auto_scaling_group_name
1127
+ # The name of the Auto Scaling group.
1128
+ # @return [String]
1129
+ #
1130
+ # @!attribute [rw] scheduled_action_name
1131
+ # The name of the action to delete.
1132
+ # @return [String]
1133
+ class DeleteScheduledActionType < Struct.new(
1134
+ :auto_scaling_group_name,
1135
+ :scheduled_action_name)
1136
+ include Aws::Structure
1137
+ end
1138
+
1139
+ # Contains the parameters for DeleteTags.
1140
+ # @note When making an API call, pass DeleteTagsType
1141
+ # data as a hash:
1142
+ #
1143
+ # {
1144
+ # tags: [ # required
1145
+ # {
1146
+ # resource_id: "XmlString",
1147
+ # resource_type: "XmlString",
1148
+ # key: "TagKey", # required
1149
+ # value: "TagValue",
1150
+ # propagate_at_launch: false,
1151
+ # },
1152
+ # ],
1153
+ # }
1154
+ # @!attribute [rw] tags
1155
+ # One or more tags.
1156
+ # @return [Array<Types::Tag>]
1157
+ class DeleteTagsType < Struct.new(
1158
+ :tags)
1159
+ include Aws::Structure
1160
+ end
1161
+
1162
+ # Contains the parameters for DescribeAccountLimits.
1163
+ # @!attribute [rw] max_number_of_auto_scaling_groups
1164
+ # The maximum number of groups allowed for your AWS account. The
1165
+ # default limit is 20 per region.
1166
+ # @return [Integer]
1167
+ #
1168
+ # @!attribute [rw] max_number_of_launch_configurations
1169
+ # The maximum number of launch configurations allowed for your AWS
1170
+ # account. The default limit is 100 per region.
1171
+ # @return [Integer]
1172
+ #
1173
+ # @!attribute [rw] number_of_auto_scaling_groups
1174
+ # The current number of groups for your AWS account.
1175
+ # @return [Integer]
1176
+ #
1177
+ # @!attribute [rw] number_of_launch_configurations
1178
+ # The current number of launch configurations for your AWS account.
1179
+ # @return [Integer]
1180
+ class DescribeAccountLimitsAnswer < Struct.new(
1181
+ :max_number_of_auto_scaling_groups,
1182
+ :max_number_of_launch_configurations,
1183
+ :number_of_auto_scaling_groups,
1184
+ :number_of_launch_configurations)
1185
+ include Aws::Structure
1186
+ end
1187
+
1188
+ # Contains the parameters for DescribeAdjustmentTypes.
1189
+ # @!attribute [rw] adjustment_types
1190
+ # The policy adjustment types.
1191
+ # @return [Array<Types::AdjustmentType>]
1192
+ class DescribeAdjustmentTypesAnswer < Struct.new(
1193
+ :adjustment_types)
1194
+ include Aws::Structure
1195
+ end
1196
+
1197
+ # Contains the parameters for DescribeAutoScalingInstances.
1198
+ # @note When making an API call, pass DescribeAutoScalingInstancesType
1199
+ # data as a hash:
1200
+ #
1201
+ # {
1202
+ # instance_ids: ["XmlStringMaxLen19"],
1203
+ # max_records: 1,
1204
+ # next_token: "XmlString",
1205
+ # }
1206
+ # @!attribute [rw] instance_ids
1207
+ # The instances to describe; up to 50 instance IDs. If you omit this
1208
+ # parameter, all Auto Scaling instances are described. If you specify
1209
+ # an ID that does not exist, it is ignored with no error.
1210
+ # @return [Array<String>]
1211
+ #
1212
+ # @!attribute [rw] max_records
1213
+ # The maximum number of items to return with this call.
1214
+ # @return [Integer]
1215
+ #
1216
+ # @!attribute [rw] next_token
1217
+ # The token for the next set of items to return. (You received this
1218
+ # token from a previous call.)
1219
+ # @return [String]
1220
+ class DescribeAutoScalingInstancesType < Struct.new(
1221
+ :instance_ids,
1222
+ :max_records,
1223
+ :next_token)
1224
+ include Aws::Structure
1225
+ end
1226
+
1227
+ # Contains the output of DescribeAutoScalingNotificationTypes.
1228
+ # @!attribute [rw] auto_scaling_notification_types
1229
+ # The notification types.
1230
+ # @return [Array<String>]
1231
+ class DescribeAutoScalingNotificationTypesAnswer < Struct.new(
1232
+ :auto_scaling_notification_types)
1233
+ include Aws::Structure
1234
+ end
1235
+
1236
+ # Contains the output of DescribeLifecycleHookTypes.
1237
+ # @!attribute [rw] lifecycle_hook_types
1238
+ # The lifecycle hook types.
1239
+ # @return [Array<String>]
1240
+ class DescribeLifecycleHookTypesAnswer < Struct.new(
1241
+ :lifecycle_hook_types)
1242
+ include Aws::Structure
1243
+ end
1244
+
1245
+ # Contains the output of DescribeLifecycleHooks.
1246
+ # @!attribute [rw] lifecycle_hooks
1247
+ # The lifecycle hooks for the specified group.
1248
+ # @return [Array<Types::LifecycleHook>]
1249
+ class DescribeLifecycleHooksAnswer < Struct.new(
1250
+ :lifecycle_hooks)
1251
+ include Aws::Structure
1252
+ end
1253
+
1254
+ # Contains the parameters for DescribeLifecycleHooks.
1255
+ # @note When making an API call, pass DescribeLifecycleHooksType
1256
+ # data as a hash:
1257
+ #
1258
+ # {
1259
+ # auto_scaling_group_name: "ResourceName", # required
1260
+ # lifecycle_hook_names: ["AsciiStringMaxLen255"],
1261
+ # }
1262
+ # @!attribute [rw] auto_scaling_group_name
1263
+ # The name of the group.
1264
+ # @return [String]
1265
+ #
1266
+ # @!attribute [rw] lifecycle_hook_names
1267
+ # The names of one or more lifecycle hooks. If you omit this
1268
+ # parameter, all lifecycle hooks are described.
1269
+ # @return [Array<String>]
1270
+ class DescribeLifecycleHooksType < Struct.new(
1271
+ :auto_scaling_group_name,
1272
+ :lifecycle_hook_names)
1273
+ include Aws::Structure
1274
+ end
1275
+
1276
+ # Contains the parameters for DescribeLoadBalancerTargetGroups.
1277
+ # @note When making an API call, pass DescribeLoadBalancerTargetGroupsRequest
1278
+ # data as a hash:
1279
+ #
1280
+ # {
1281
+ # auto_scaling_group_name: "ResourceName", # required
1282
+ # next_token: "XmlString",
1283
+ # max_records: 1,
1284
+ # }
1285
+ # @!attribute [rw] auto_scaling_group_name
1286
+ # The name of the Auto Scaling group.
1287
+ # @return [String]
1288
+ #
1289
+ # @!attribute [rw] next_token
1290
+ # The token for the next set of items to return. (You received this
1291
+ # token from a previous call.)
1292
+ # @return [String]
1293
+ #
1294
+ # @!attribute [rw] max_records
1295
+ # The maximum number of items to return with this call.
1296
+ # @return [Integer]
1297
+ class DescribeLoadBalancerTargetGroupsRequest < Struct.new(
1298
+ :auto_scaling_group_name,
1299
+ :next_token,
1300
+ :max_records)
1301
+ include Aws::Structure
1302
+ end
1303
+
1304
+ # Contains the output of DescribeLoadBalancerTargetGroups.
1305
+ # @!attribute [rw] load_balancer_target_groups
1306
+ # Information about the target groups.
1307
+ # @return [Array<Types::LoadBalancerTargetGroupState>]
1308
+ #
1309
+ # @!attribute [rw] next_token
1310
+ # The token to use when requesting the next set of items. If there are
1311
+ # no additional items to return, the string is empty.
1312
+ # @return [String]
1313
+ class DescribeLoadBalancerTargetGroupsResponse < Struct.new(
1314
+ :load_balancer_target_groups,
1315
+ :next_token)
1316
+ include Aws::Structure
1317
+ end
1318
+
1319
+ # Contains the parameters for DescribeLoadBalancers.
1320
+ # @note When making an API call, pass DescribeLoadBalancersRequest
1321
+ # data as a hash:
1322
+ #
1323
+ # {
1324
+ # auto_scaling_group_name: "ResourceName", # required
1325
+ # next_token: "XmlString",
1326
+ # max_records: 1,
1327
+ # }
1328
+ # @!attribute [rw] auto_scaling_group_name
1329
+ # The name of the group.
1330
+ # @return [String]
1331
+ #
1332
+ # @!attribute [rw] next_token
1333
+ # The token for the next set of items to return. (You received this
1334
+ # token from a previous call.)
1335
+ # @return [String]
1336
+ #
1337
+ # @!attribute [rw] max_records
1338
+ # The maximum number of items to return with this call.
1339
+ # @return [Integer]
1340
+ class DescribeLoadBalancersRequest < Struct.new(
1341
+ :auto_scaling_group_name,
1342
+ :next_token,
1343
+ :max_records)
1344
+ include Aws::Structure
1345
+ end
1346
+
1347
+ # Contains the output of DescribeLoadBalancers.
1348
+ # @!attribute [rw] load_balancers
1349
+ # The load balancers.
1350
+ # @return [Array<Types::LoadBalancerState>]
1351
+ #
1352
+ # @!attribute [rw] next_token
1353
+ # The token to use when requesting the next set of items. If there are
1354
+ # no additional items to return, the string is empty.
1355
+ # @return [String]
1356
+ class DescribeLoadBalancersResponse < Struct.new(
1357
+ :load_balancers,
1358
+ :next_token)
1359
+ include Aws::Structure
1360
+ end
1361
+
1362
+ # Contains the output of DescribeMetricsCollectionTypes.
1363
+ # @!attribute [rw] metrics
1364
+ # One or more metrics.
1365
+ # @return [Array<Types::MetricCollectionType>]
1366
+ #
1367
+ # @!attribute [rw] granularities
1368
+ # The granularities for the metrics.
1369
+ # @return [Array<Types::MetricGranularityType>]
1370
+ class DescribeMetricCollectionTypesAnswer < Struct.new(
1371
+ :metrics,
1372
+ :granularities)
1373
+ include Aws::Structure
1374
+ end
1375
+
1376
+ # Contains the output from DescribeNotificationConfigurations.
1377
+ # @!attribute [rw] notification_configurations
1378
+ # The notification configurations.
1379
+ # @return [Array<Types::NotificationConfiguration>]
1380
+ #
1381
+ # @!attribute [rw] next_token
1382
+ # The token to use when requesting the next set of items. If there are
1383
+ # no additional items to return, the string is empty.
1384
+ # @return [String]
1385
+ class DescribeNotificationConfigurationsAnswer < Struct.new(
1386
+ :notification_configurations,
1387
+ :next_token)
1388
+ include Aws::Structure
1389
+ end
1390
+
1391
+ # Contains the parameters for DescribeNotificationConfigurations.
1392
+ # @note When making an API call, pass DescribeNotificationConfigurationsType
1393
+ # data as a hash:
1394
+ #
1395
+ # {
1396
+ # auto_scaling_group_names: ["ResourceName"],
1397
+ # next_token: "XmlString",
1398
+ # max_records: 1,
1399
+ # }
1400
+ # @!attribute [rw] auto_scaling_group_names
1401
+ # The name of the group.
1402
+ # @return [Array<String>]
1403
+ #
1404
+ # @!attribute [rw] next_token
1405
+ # The token for the next set of items to return. (You received this
1406
+ # token from a previous call.)
1407
+ # @return [String]
1408
+ #
1409
+ # @!attribute [rw] max_records
1410
+ # The maximum number of items to return with this call.
1411
+ # @return [Integer]
1412
+ class DescribeNotificationConfigurationsType < Struct.new(
1413
+ :auto_scaling_group_names,
1414
+ :next_token,
1415
+ :max_records)
1416
+ include Aws::Structure
1417
+ end
1418
+
1419
+ # Contains the parameters for DescribePolicies.
1420
+ # @note When making an API call, pass DescribePoliciesType
1421
+ # data as a hash:
1422
+ #
1423
+ # {
1424
+ # auto_scaling_group_name: "ResourceName",
1425
+ # policy_names: ["ResourceName"],
1426
+ # policy_types: ["XmlStringMaxLen64"],
1427
+ # next_token: "XmlString",
1428
+ # max_records: 1,
1429
+ # }
1430
+ # @!attribute [rw] auto_scaling_group_name
1431
+ # The name of the group.
1432
+ # @return [String]
1433
+ #
1434
+ # @!attribute [rw] policy_names
1435
+ # One or more policy names or policy ARNs to be described. If you omit
1436
+ # this parameter, all policy names are described. If an group name is
1437
+ # provided, the results are limited to that group. This list is
1438
+ # limited to 50 items. If you specify an unknown policy name, it is
1439
+ # ignored with no error.
1440
+ # @return [Array<String>]
1441
+ #
1442
+ # @!attribute [rw] policy_types
1443
+ # One or more policy types. Valid values are `SimpleScaling` and
1444
+ # `StepScaling`.
1445
+ # @return [Array<String>]
1446
+ #
1447
+ # @!attribute [rw] next_token
1448
+ # The token for the next set of items to return. (You received this
1449
+ # token from a previous call.)
1450
+ # @return [String]
1451
+ #
1452
+ # @!attribute [rw] max_records
1453
+ # The maximum number of items to be returned with each call.
1454
+ # @return [Integer]
1455
+ class DescribePoliciesType < Struct.new(
1456
+ :auto_scaling_group_name,
1457
+ :policy_names,
1458
+ :policy_types,
1459
+ :next_token,
1460
+ :max_records)
1461
+ include Aws::Structure
1462
+ end
1463
+
1464
+ # Contains the parameters for DescribeScalingActivities.
1465
+ # @note When making an API call, pass DescribeScalingActivitiesType
1466
+ # data as a hash:
1467
+ #
1468
+ # {
1469
+ # activity_ids: ["XmlString"],
1470
+ # auto_scaling_group_name: "ResourceName",
1471
+ # max_records: 1,
1472
+ # next_token: "XmlString",
1473
+ # }
1474
+ # @!attribute [rw] activity_ids
1475
+ # The activity IDs of the desired scaling activities. If you omit this
1476
+ # parameter, all activities for the past six weeks are described. If
1477
+ # you specify an Auto Scaling group, the results are limited to that
1478
+ # group. The list of requested activities cannot contain more than 50
1479
+ # items. If unknown activities are requested, they are ignored with no
1480
+ # error.
1481
+ # @return [Array<String>]
1482
+ #
1483
+ # @!attribute [rw] auto_scaling_group_name
1484
+ # The name of the group.
1485
+ # @return [String]
1486
+ #
1487
+ # @!attribute [rw] max_records
1488
+ # The maximum number of items to return with this call.
1489
+ # @return [Integer]
1490
+ #
1491
+ # @!attribute [rw] next_token
1492
+ # The token for the next set of items to return. (You received this
1493
+ # token from a previous call.)
1494
+ # @return [String]
1495
+ class DescribeScalingActivitiesType < Struct.new(
1496
+ :activity_ids,
1497
+ :auto_scaling_group_name,
1498
+ :max_records,
1499
+ :next_token)
1500
+ include Aws::Structure
1501
+ end
1502
+
1503
+ # Contains the parameters for DescribeScheduledActions.
1504
+ # @note When making an API call, pass DescribeScheduledActionsType
1505
+ # data as a hash:
1506
+ #
1507
+ # {
1508
+ # auto_scaling_group_name: "ResourceName",
1509
+ # scheduled_action_names: ["ResourceName"],
1510
+ # start_time: Time.now,
1511
+ # end_time: Time.now,
1512
+ # next_token: "XmlString",
1513
+ # max_records: 1,
1514
+ # }
1515
+ # @!attribute [rw] auto_scaling_group_name
1516
+ # The name of the group.
1517
+ # @return [String]
1518
+ #
1519
+ # @!attribute [rw] scheduled_action_names
1520
+ # Describes one or more scheduled actions. If you omit this parameter,
1521
+ # all scheduled actions are described. If you specify an unknown
1522
+ # scheduled action, it is ignored with no error.
1523
+ #
1524
+ # You can describe up to a maximum of 50 instances with a single call.
1525
+ # If there are more items to return, the call returns a token. To get
1526
+ # the next set of items, repeat the call with the returned token.
1527
+ # @return [Array<String>]
1528
+ #
1529
+ # @!attribute [rw] start_time
1530
+ # The earliest scheduled start time to return. If scheduled action
1531
+ # names are provided, this parameter is ignored.
1532
+ # @return [Time]
1533
+ #
1534
+ # @!attribute [rw] end_time
1535
+ # The latest scheduled start time to return. If scheduled action names
1536
+ # are provided, this parameter is ignored.
1537
+ # @return [Time]
1538
+ #
1539
+ # @!attribute [rw] next_token
1540
+ # The token for the next set of items to return. (You received this
1541
+ # token from a previous call.)
1542
+ # @return [String]
1543
+ #
1544
+ # @!attribute [rw] max_records
1545
+ # The maximum number of items to return with this call.
1546
+ # @return [Integer]
1547
+ class DescribeScheduledActionsType < Struct.new(
1548
+ :auto_scaling_group_name,
1549
+ :scheduled_action_names,
1550
+ :start_time,
1551
+ :end_time,
1552
+ :next_token,
1553
+ :max_records)
1554
+ include Aws::Structure
1555
+ end
1556
+
1557
+ # Contains the parameters for DescribeTags.
1558
+ # @note When making an API call, pass DescribeTagsType
1559
+ # data as a hash:
1560
+ #
1561
+ # {
1562
+ # filters: [
1563
+ # {
1564
+ # name: "XmlString",
1565
+ # values: ["XmlString"],
1566
+ # },
1567
+ # ],
1568
+ # next_token: "XmlString",
1569
+ # max_records: 1,
1570
+ # }
1571
+ # @!attribute [rw] filters
1572
+ # A filter used to scope the tags to return.
1573
+ # @return [Array<Types::Filter>]
1574
+ #
1575
+ # @!attribute [rw] next_token
1576
+ # The token for the next set of items to return. (You received this
1577
+ # token from a previous call.)
1578
+ # @return [String]
1579
+ #
1580
+ # @!attribute [rw] max_records
1581
+ # The maximum number of items to return with this call.
1582
+ # @return [Integer]
1583
+ class DescribeTagsType < Struct.new(
1584
+ :filters,
1585
+ :next_token,
1586
+ :max_records)
1587
+ include Aws::Structure
1588
+ end
1589
+
1590
+ # Contains the output of DescribeTerminationPolicyTypes.
1591
+ # @!attribute [rw] termination_policy_types
1592
+ # The termination policies supported by Auto Scaling
1593
+ # (`OldestInstance`, `OldestLaunchConfiguration`, `NewestInstance`,
1594
+ # `ClosestToNextInstanceHour`, and `Default`).
1595
+ # @return [Array<String>]
1596
+ class DescribeTerminationPolicyTypesAnswer < Struct.new(
1597
+ :termination_policy_types)
1598
+ include Aws::Structure
1599
+ end
1600
+
1601
+ # Contains the output of DetachInstances.
1602
+ # @!attribute [rw] activities
1603
+ # The activities related to detaching the instances from the Auto
1604
+ # Scaling group.
1605
+ # @return [Array<Types::Activity>]
1606
+ class DetachInstancesAnswer < Struct.new(
1607
+ :activities)
1608
+ include Aws::Structure
1609
+ end
1610
+
1611
+ # Contains the parameters for DetachInstances.
1612
+ # @note When making an API call, pass DetachInstancesQuery
1613
+ # data as a hash:
1614
+ #
1615
+ # {
1616
+ # instance_ids: ["XmlStringMaxLen19"],
1617
+ # auto_scaling_group_name: "ResourceName", # required
1618
+ # should_decrement_desired_capacity: false, # required
1619
+ # }
1620
+ # @!attribute [rw] instance_ids
1621
+ # One or more instance IDs.
1622
+ # @return [Array<String>]
1623
+ #
1624
+ # @!attribute [rw] auto_scaling_group_name
1625
+ # The name of the group.
1626
+ # @return [String]
1627
+ #
1628
+ # @!attribute [rw] should_decrement_desired_capacity
1629
+ # If `True`, the Auto Scaling group decrements the desired capacity
1630
+ # value by the number of instances detached.
1631
+ # @return [Boolean]
1632
+ class DetachInstancesQuery < Struct.new(
1633
+ :instance_ids,
1634
+ :auto_scaling_group_name,
1635
+ :should_decrement_desired_capacity)
1636
+ include Aws::Structure
1637
+ end
1638
+
1639
+ class DetachLoadBalancerTargetGroupsResultType < Aws::EmptyStructure; end
1640
+
1641
+ # @note When making an API call, pass DetachLoadBalancerTargetGroupsType
1642
+ # data as a hash:
1643
+ #
1644
+ # {
1645
+ # auto_scaling_group_name: "ResourceName", # required
1646
+ # target_group_arns: ["XmlStringMaxLen511"], # required
1647
+ # }
1648
+ # @!attribute [rw] auto_scaling_group_name
1649
+ # The name of the Auto Scaling group.
1650
+ # @return [String]
1651
+ #
1652
+ # @!attribute [rw] target_group_arns
1653
+ # The Amazon Resource Names (ARN) of the target groups.
1654
+ # @return [Array<String>]
1655
+ class DetachLoadBalancerTargetGroupsType < Struct.new(
1656
+ :auto_scaling_group_name,
1657
+ :target_group_arns)
1658
+ include Aws::Structure
1659
+ end
1660
+
1661
+ # Contains the output for DetachLoadBalancers.
1662
+ class DetachLoadBalancersResultType < Aws::EmptyStructure; end
1663
+
1664
+ # Contains the parameters for DetachLoadBalancers.
1665
+ # @note When making an API call, pass DetachLoadBalancersType
1666
+ # data as a hash:
1667
+ #
1668
+ # {
1669
+ # auto_scaling_group_name: "ResourceName", # required
1670
+ # load_balancer_names: ["XmlStringMaxLen255"], # required
1671
+ # }
1672
+ # @!attribute [rw] auto_scaling_group_name
1673
+ # The name of the Auto Scaling group.
1674
+ # @return [String]
1675
+ #
1676
+ # @!attribute [rw] load_balancer_names
1677
+ # One or more load balancer names.
1678
+ # @return [Array<String>]
1679
+ class DetachLoadBalancersType < Struct.new(
1680
+ :auto_scaling_group_name,
1681
+ :load_balancer_names)
1682
+ include Aws::Structure
1683
+ end
1684
+
1685
+ # Contains the parameters for DisableMetricsCollection.
1686
+ # @note When making an API call, pass DisableMetricsCollectionQuery
1687
+ # data as a hash:
1688
+ #
1689
+ # {
1690
+ # auto_scaling_group_name: "ResourceName", # required
1691
+ # metrics: ["XmlStringMaxLen255"],
1692
+ # }
1693
+ # @!attribute [rw] auto_scaling_group_name
1694
+ # The name or Amazon Resource Name (ARN) of the group.
1695
+ # @return [String]
1696
+ #
1697
+ # @!attribute [rw] metrics
1698
+ # One or more of the following metrics. If you omit this parameter,
1699
+ # all metrics are disabled.
1700
+ #
1701
+ # * `GroupMinSize`
1702
+ #
1703
+ # * `GroupMaxSize`
1704
+ #
1705
+ # * `GroupDesiredCapacity`
1706
+ #
1707
+ # * `GroupInServiceInstances`
1708
+ #
1709
+ # * `GroupPendingInstances`
1710
+ #
1711
+ # * `GroupStandbyInstances`
1712
+ #
1713
+ # * `GroupTerminatingInstances`
1714
+ #
1715
+ # * `GroupTotalInstances`
1716
+ # @return [Array<String>]
1717
+ class DisableMetricsCollectionQuery < Struct.new(
1718
+ :auto_scaling_group_name,
1719
+ :metrics)
1720
+ include Aws::Structure
1721
+ end
1722
+
1723
+ # Describes an Amazon EBS volume.
1724
+ # @note When making an API call, pass Ebs
1725
+ # data as a hash:
1726
+ #
1727
+ # {
1728
+ # snapshot_id: "XmlStringMaxLen255",
1729
+ # volume_size: 1,
1730
+ # volume_type: "BlockDeviceEbsVolumeType",
1731
+ # delete_on_termination: false,
1732
+ # iops: 1,
1733
+ # encrypted: false,
1734
+ # }
1735
+ # @!attribute [rw] snapshot_id
1736
+ # The ID of the snapshot.
1737
+ # @return [String]
1738
+ #
1739
+ # @!attribute [rw] volume_size
1740
+ # The volume size, in GiB. For `standard` volumes, specify a value
1741
+ # from 1 to 1,024. For `io1` volumes, specify a value from 4 to
1742
+ # 16,384. For `gp2` volumes, specify a value from 1 to 16,384. If you
1743
+ # specify a snapshot, the volume size must be equal to or larger than
1744
+ # the snapshot size.
1745
+ #
1746
+ # Default: If you create a volume from a snapshot and you don't
1747
+ # specify a volume size, the default is the snapshot size.
1748
+ # @return [Integer]
1749
+ #
1750
+ # @!attribute [rw] volume_type
1751
+ # The volume type. For more information, see [Amazon EBS Volume
1752
+ # Types][1] in the *Amazon Elastic Compute Cloud User Guide*.
1753
+ #
1754
+ # Valid values: `standard` \| `io1` \| `gp2`
1755
+ #
1756
+ # Default: `standard`
1757
+ #
1758
+ #
1759
+ #
1760
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
1761
+ # @return [String]
1762
+ #
1763
+ # @!attribute [rw] delete_on_termination
1764
+ # Indicates whether the volume is deleted on instance termination.
1765
+ #
1766
+ # Default: `true`
1767
+ # @return [Boolean]
1768
+ #
1769
+ # @!attribute [rw] iops
1770
+ # The number of I/O operations per second (IOPS) to provision for the
1771
+ # volume.
1772
+ #
1773
+ # Constraint: Required when the volume type is `io1`.
1774
+ # @return [Integer]
1775
+ #
1776
+ # @!attribute [rw] encrypted
1777
+ # Indicates whether the volume should be encrypted. Encrypted EBS
1778
+ # volumes must be attached to instances that support Amazon EBS
1779
+ # encryption. Volumes that are created from encrypted snapshots are
1780
+ # automatically encrypted. There is no way to create an encrypted
1781
+ # volume from an unencrypted snapshot or an unencrypted volume from an
1782
+ # encrypted snapshot. For more information, see [Amazon EBS
1783
+ # Encryption][1] in the *Amazon Elastic Compute Cloud User Guide*.
1784
+ #
1785
+ #
1786
+ #
1787
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
1788
+ # @return [Boolean]
1789
+ class Ebs < Struct.new(
1790
+ :snapshot_id,
1791
+ :volume_size,
1792
+ :volume_type,
1793
+ :delete_on_termination,
1794
+ :iops,
1795
+ :encrypted)
1796
+ include Aws::Structure
1797
+ end
1798
+
1799
+ # Contains the parameters for EnableMetricsCollection.
1800
+ # @note When making an API call, pass EnableMetricsCollectionQuery
1801
+ # data as a hash:
1802
+ #
1803
+ # {
1804
+ # auto_scaling_group_name: "ResourceName", # required
1805
+ # metrics: ["XmlStringMaxLen255"],
1806
+ # granularity: "XmlStringMaxLen255", # required
1807
+ # }
1808
+ # @!attribute [rw] auto_scaling_group_name
1809
+ # The name or ARN of the Auto Scaling group.
1810
+ # @return [String]
1811
+ #
1812
+ # @!attribute [rw] metrics
1813
+ # One or more of the following metrics. If you omit this parameter,
1814
+ # all metrics are enabled.
1815
+ #
1816
+ # * `GroupMinSize`
1817
+ #
1818
+ # * `GroupMaxSize`
1819
+ #
1820
+ # * `GroupDesiredCapacity`
1821
+ #
1822
+ # * `GroupInServiceInstances`
1823
+ #
1824
+ # * `GroupPendingInstances`
1825
+ #
1826
+ # * `GroupStandbyInstances`
1827
+ #
1828
+ # * `GroupTerminatingInstances`
1829
+ #
1830
+ # * `GroupTotalInstances`
1831
+ # @return [Array<String>]
1832
+ #
1833
+ # @!attribute [rw] granularity
1834
+ # The granularity to associate with the metrics to collect. The only
1835
+ # valid value is `1Minute`.
1836
+ # @return [String]
1837
+ class EnableMetricsCollectionQuery < Struct.new(
1838
+ :auto_scaling_group_name,
1839
+ :metrics,
1840
+ :granularity)
1841
+ include Aws::Structure
1842
+ end
1843
+
1844
+ # Describes an enabled metric.
1845
+ # @!attribute [rw] metric
1846
+ # One of the following metrics:
1847
+ #
1848
+ # * `GroupMinSize`
1849
+ #
1850
+ # * `GroupMaxSize`
1851
+ #
1852
+ # * `GroupDesiredCapacity`
1853
+ #
1854
+ # * `GroupInServiceInstances`
1855
+ #
1856
+ # * `GroupPendingInstances`
1857
+ #
1858
+ # * `GroupStandbyInstances`
1859
+ #
1860
+ # * `GroupTerminatingInstances`
1861
+ #
1862
+ # * `GroupTotalInstances`
1863
+ # @return [String]
1864
+ #
1865
+ # @!attribute [rw] granularity
1866
+ # The granularity of the metric. The only valid value is `1Minute`.
1867
+ # @return [String]
1868
+ class EnabledMetric < Struct.new(
1869
+ :metric,
1870
+ :granularity)
1871
+ include Aws::Structure
1872
+ end
1873
+
1874
+ # Contains the output of EnterStandby.
1875
+ # @!attribute [rw] activities
1876
+ # The activities related to moving instances into `Standby` mode.
1877
+ # @return [Array<Types::Activity>]
1878
+ class EnterStandbyAnswer < Struct.new(
1879
+ :activities)
1880
+ include Aws::Structure
1881
+ end
1882
+
1883
+ # Contains the parameters for EnteStandby.
1884
+ # @note When making an API call, pass EnterStandbyQuery
1885
+ # data as a hash:
1886
+ #
1887
+ # {
1888
+ # instance_ids: ["XmlStringMaxLen19"],
1889
+ # auto_scaling_group_name: "ResourceName", # required
1890
+ # should_decrement_desired_capacity: false, # required
1891
+ # }
1892
+ # @!attribute [rw] instance_ids
1893
+ # One or more instances to move into `Standby` mode. You must specify
1894
+ # at least one instance ID.
1895
+ # @return [Array<String>]
1896
+ #
1897
+ # @!attribute [rw] auto_scaling_group_name
1898
+ # The name of the Auto Scaling group.
1899
+ # @return [String]
1900
+ #
1901
+ # @!attribute [rw] should_decrement_desired_capacity
1902
+ # Specifies whether the instances moved to `Standby` mode count as
1903
+ # part of the Auto Scaling group's desired capacity. If set, the
1904
+ # desired capacity for the Auto Scaling group decrements by the number
1905
+ # of instances moved to `Standby` mode.
1906
+ # @return [Boolean]
1907
+ class EnterStandbyQuery < Struct.new(
1908
+ :instance_ids,
1909
+ :auto_scaling_group_name,
1910
+ :should_decrement_desired_capacity)
1911
+ include Aws::Structure
1912
+ end
1913
+
1914
+ # Contains the parameters for ExecutePolicy.
1915
+ # @note When making an API call, pass ExecutePolicyType
1916
+ # data as a hash:
1917
+ #
1918
+ # {
1919
+ # auto_scaling_group_name: "ResourceName",
1920
+ # policy_name: "ResourceName", # required
1921
+ # honor_cooldown: false,
1922
+ # metric_value: 1.0,
1923
+ # breach_threshold: 1.0,
1924
+ # }
1925
+ # @!attribute [rw] auto_scaling_group_name
1926
+ # The name or Amazon Resource Name (ARN) of the Auto Scaling group.
1927
+ # @return [String]
1928
+ #
1929
+ # @!attribute [rw] policy_name
1930
+ # The name or ARN of the policy.
1931
+ # @return [String]
1932
+ #
1933
+ # @!attribute [rw] honor_cooldown
1934
+ # If this parameter is true, Auto Scaling waits for the cooldown
1935
+ # period to complete before executing the policy. Otherwise, Auto
1936
+ # Scaling executes the policy without waiting for the cooldown period
1937
+ # to complete.
1938
+ #
1939
+ # This parameter is not supported if the policy type is `StepScaling`.
1940
+ #
1941
+ # For more information, see [Auto Scaling Cooldowns][1] in the *Auto
1942
+ # Scaling User Guide*.
1943
+ #
1944
+ #
1945
+ #
1946
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/Cooldown.html
1947
+ # @return [Boolean]
1948
+ #
1949
+ # @!attribute [rw] metric_value
1950
+ # The metric value to compare to `BreachThreshold`. This enables you
1951
+ # to execute a policy of type `StepScaling` and determine which step
1952
+ # adjustment to use. For example, if the breach threshold is 50 and
1953
+ # you want to use a step adjustment with a lower bound of 0 and an
1954
+ # upper bound of 10, you can set the metric value to 59.
1955
+ #
1956
+ # If you specify a metric value that doesn't correspond to a step
1957
+ # adjustment for the policy, the call returns an error.
1958
+ #
1959
+ # This parameter is required if the policy type is `StepScaling` and
1960
+ # not supported otherwise.
1961
+ # @return [Float]
1962
+ #
1963
+ # @!attribute [rw] breach_threshold
1964
+ # The breach threshold for the alarm.
1965
+ #
1966
+ # This parameter is required if the policy type is `StepScaling` and
1967
+ # not supported otherwise.
1968
+ # @return [Float]
1969
+ class ExecutePolicyType < Struct.new(
1970
+ :auto_scaling_group_name,
1971
+ :policy_name,
1972
+ :honor_cooldown,
1973
+ :metric_value,
1974
+ :breach_threshold)
1975
+ include Aws::Structure
1976
+ end
1977
+
1978
+ # Contains the parameters for ExitStandby.
1979
+ # @!attribute [rw] activities
1980
+ # The activities related to moving instances out of `Standby` mode.
1981
+ # @return [Array<Types::Activity>]
1982
+ class ExitStandbyAnswer < Struct.new(
1983
+ :activities)
1984
+ include Aws::Structure
1985
+ end
1986
+
1987
+ # Contains the parameters for ExitStandby.
1988
+ # @note When making an API call, pass ExitStandbyQuery
1989
+ # data as a hash:
1990
+ #
1991
+ # {
1992
+ # instance_ids: ["XmlStringMaxLen19"],
1993
+ # auto_scaling_group_name: "ResourceName", # required
1994
+ # }
1995
+ # @!attribute [rw] instance_ids
1996
+ # One or more instance IDs. You must specify at least one instance ID.
1997
+ # @return [Array<String>]
1998
+ #
1999
+ # @!attribute [rw] auto_scaling_group_name
2000
+ # The name of the Auto Scaling group.
2001
+ # @return [String]
2002
+ class ExitStandbyQuery < Struct.new(
2003
+ :instance_ids,
2004
+ :auto_scaling_group_name)
2005
+ include Aws::Structure
2006
+ end
2007
+
2008
+ # Describes a filter.
2009
+ # @note When making an API call, pass Filter
2010
+ # data as a hash:
2011
+ #
2012
+ # {
2013
+ # name: "XmlString",
2014
+ # values: ["XmlString"],
2015
+ # }
2016
+ # @!attribute [rw] name
2017
+ # The name of the filter. The valid values are:
2018
+ # `"auto-scaling-group"`, `"key"`, `"value"`, and
2019
+ # `"propagate-at-launch"`.
2020
+ # @return [String]
2021
+ #
2022
+ # @!attribute [rw] values
2023
+ # The value of the filter.
2024
+ # @return [Array<String>]
2025
+ class Filter < Struct.new(
2026
+ :name,
2027
+ :values)
2028
+ include Aws::Structure
2029
+ end
2030
+
2031
+ # Describes an EC2 instance.
2032
+ # @!attribute [rw] instance_id
2033
+ # The ID of the instance.
2034
+ # @return [String]
2035
+ #
2036
+ # @!attribute [rw] availability_zone
2037
+ # The Availability Zone in which the instance is running.
2038
+ # @return [String]
2039
+ #
2040
+ # @!attribute [rw] lifecycle_state
2041
+ # A description of the current lifecycle state. Note that the
2042
+ # `Quarantined` state is not used.
2043
+ # @return [String]
2044
+ #
2045
+ # @!attribute [rw] health_status
2046
+ # The last reported health status of the instance. "Healthy" means
2047
+ # that the instance is healthy and should remain in service.
2048
+ # "Unhealthy" means that the instance is unhealthy and Auto Scaling
2049
+ # should terminate and replace it.
2050
+ # @return [String]
2051
+ #
2052
+ # @!attribute [rw] launch_configuration_name
2053
+ # The launch configuration associated with the instance.
2054
+ # @return [String]
2055
+ #
2056
+ # @!attribute [rw] protected_from_scale_in
2057
+ # Indicates whether the instance is protected from termination by Auto
2058
+ # Scaling when scaling in.
2059
+ # @return [Boolean]
2060
+ class Instance < Struct.new(
2061
+ :instance_id,
2062
+ :availability_zone,
2063
+ :lifecycle_state,
2064
+ :health_status,
2065
+ :launch_configuration_name,
2066
+ :protected_from_scale_in)
2067
+ include Aws::Structure
2068
+ end
2069
+
2070
+ # Describes whether instance monitoring is enabled.
2071
+ # @note When making an API call, pass InstanceMonitoring
2072
+ # data as a hash:
2073
+ #
2074
+ # {
2075
+ # enabled: false,
2076
+ # }
2077
+ # @!attribute [rw] enabled
2078
+ # If `True`, instance monitoring is enabled.
2079
+ # @return [Boolean]
2080
+ class InstanceMonitoring < Struct.new(
2081
+ :enabled)
2082
+ include Aws::Structure
2083
+ end
2084
+
2085
+ # Describes a launch configuration.
2086
+ # @!attribute [rw] launch_configuration_name
2087
+ # The name of the launch configuration.
2088
+ # @return [String]
2089
+ #
2090
+ # @!attribute [rw] launch_configuration_arn
2091
+ # The Amazon Resource Name (ARN) of the launch configuration.
2092
+ # @return [String]
2093
+ #
2094
+ # @!attribute [rw] image_id
2095
+ # The ID of the Amazon Machine Image (AMI).
2096
+ # @return [String]
2097
+ #
2098
+ # @!attribute [rw] key_name
2099
+ # The name of the key pair.
2100
+ # @return [String]
2101
+ #
2102
+ # @!attribute [rw] security_groups
2103
+ # The security groups to associate with the instances.
2104
+ # @return [Array<String>]
2105
+ #
2106
+ # @!attribute [rw] classic_link_vpc_id
2107
+ # The ID of a ClassicLink-enabled VPC to link your EC2-Classic
2108
+ # instances to. This parameter can only be used if you are launching
2109
+ # EC2-Classic instances. For more information, see [ClassicLink][1] in
2110
+ # the *Amazon Elastic Compute Cloud User Guide*.
2111
+ #
2112
+ #
2113
+ #
2114
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
2115
+ # @return [String]
2116
+ #
2117
+ # @!attribute [rw] classic_link_vpc_security_groups
2118
+ # The IDs of one or more security groups for the VPC specified in
2119
+ # `ClassicLinkVPCId`. This parameter is required if you specify a
2120
+ # ClassicLink-enabled VPC, and cannot be used otherwise. For more
2121
+ # information, see [ClassicLink][1] in the *Amazon Elastic Compute
2122
+ # Cloud User Guide*.
2123
+ #
2124
+ #
2125
+ #
2126
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
2127
+ # @return [Array<String>]
2128
+ #
2129
+ # @!attribute [rw] user_data
2130
+ # The user data available to the instances.
2131
+ # @return [String]
2132
+ #
2133
+ # @!attribute [rw] instance_type
2134
+ # The instance type for the instances.
2135
+ # @return [String]
2136
+ #
2137
+ # @!attribute [rw] kernel_id
2138
+ # The ID of the kernel associated with the AMI.
2139
+ # @return [String]
2140
+ #
2141
+ # @!attribute [rw] ramdisk_id
2142
+ # The ID of the RAM disk associated with the AMI.
2143
+ # @return [String]
2144
+ #
2145
+ # @!attribute [rw] block_device_mappings
2146
+ # A block device mapping, which specifies the block devices for the
2147
+ # instance.
2148
+ # @return [Array<Types::BlockDeviceMapping>]
2149
+ #
2150
+ # @!attribute [rw] instance_monitoring
2151
+ # Controls whether instances in this group are launched with detailed
2152
+ # (`true`) or basic (`false`) monitoring.
2153
+ # @return [Types::InstanceMonitoring]
2154
+ #
2155
+ # @!attribute [rw] spot_price
2156
+ # The price to bid when launching Spot Instances.
2157
+ # @return [String]
2158
+ #
2159
+ # @!attribute [rw] iam_instance_profile
2160
+ # The name or Amazon Resource Name (ARN) of the instance profile
2161
+ # associated with the IAM role for the instance.
2162
+ # @return [String]
2163
+ #
2164
+ # @!attribute [rw] created_time
2165
+ # The creation date and time for the launch configuration.
2166
+ # @return [Time]
2167
+ #
2168
+ # @!attribute [rw] ebs_optimized
2169
+ # Controls whether the instance is optimized for EBS I/O (`true`) or
2170
+ # not (`false`).
2171
+ # @return [Boolean]
2172
+ #
2173
+ # @!attribute [rw] associate_public_ip_address
2174
+ # \[EC2-VPC\] Indicates whether to assign a public IP address to each
2175
+ # instance.
2176
+ # @return [Boolean]
2177
+ #
2178
+ # @!attribute [rw] placement_tenancy
2179
+ # The tenancy of the instance, either `default` or `dedicated`. An
2180
+ # instance with `dedicated` tenancy runs in an isolated, single-tenant
2181
+ # hardware and can only be launched into a VPC.
2182
+ # @return [String]
2183
+ class LaunchConfiguration < Struct.new(
2184
+ :launch_configuration_name,
2185
+ :launch_configuration_arn,
2186
+ :image_id,
2187
+ :key_name,
2188
+ :security_groups,
2189
+ :classic_link_vpc_id,
2190
+ :classic_link_vpc_security_groups,
2191
+ :user_data,
2192
+ :instance_type,
2193
+ :kernel_id,
2194
+ :ramdisk_id,
2195
+ :block_device_mappings,
2196
+ :instance_monitoring,
2197
+ :spot_price,
2198
+ :iam_instance_profile,
2199
+ :created_time,
2200
+ :ebs_optimized,
2201
+ :associate_public_ip_address,
2202
+ :placement_tenancy)
2203
+ include Aws::Structure
2204
+ end
2205
+
2206
+ # Contains the parameters for DeleteLaunchConfiguration.
2207
+ # @note When making an API call, pass LaunchConfigurationNameType
2208
+ # data as a hash:
2209
+ #
2210
+ # {
2211
+ # launch_configuration_name: "ResourceName", # required
2212
+ # }
2213
+ # @!attribute [rw] launch_configuration_name
2214
+ # The name of the launch configuration.
2215
+ # @return [String]
2216
+ class LaunchConfigurationNameType < Struct.new(
2217
+ :launch_configuration_name)
2218
+ include Aws::Structure
2219
+ end
2220
+
2221
+ # Contains the parameters for DescribeLaunchConfigurations.
2222
+ # @note When making an API call, pass LaunchConfigurationNamesType
2223
+ # data as a hash:
2224
+ #
2225
+ # {
2226
+ # launch_configuration_names: ["ResourceName"],
2227
+ # next_token: "XmlString",
2228
+ # max_records: 1,
2229
+ # }
2230
+ # @!attribute [rw] launch_configuration_names
2231
+ # The launch configuration names. If you omit this parameter, all
2232
+ # launch configurations are described.
2233
+ # @return [Array<String>]
2234
+ #
2235
+ # @!attribute [rw] next_token
2236
+ # The token for the next set of items to return. (You received this
2237
+ # token from a previous call.)
2238
+ # @return [String]
2239
+ #
2240
+ # @!attribute [rw] max_records
2241
+ # The maximum number of items to return with this call. The default is
2242
+ # 100.
2243
+ # @return [Integer]
2244
+ class LaunchConfigurationNamesType < Struct.new(
2245
+ :launch_configuration_names,
2246
+ :next_token,
2247
+ :max_records)
2248
+ include Aws::Structure
2249
+ end
2250
+
2251
+ # Contains the output of DescribeLaunchConfigurations.
2252
+ # @!attribute [rw] launch_configurations
2253
+ # The launch configurations.
2254
+ # @return [Array<Types::LaunchConfiguration>]
2255
+ #
2256
+ # @!attribute [rw] next_token
2257
+ # The token to use when requesting the next set of items. If there are
2258
+ # no additional items to return, the string is empty.
2259
+ # @return [String]
2260
+ class LaunchConfigurationsType < Struct.new(
2261
+ :launch_configurations,
2262
+ :next_token)
2263
+ include Aws::Structure
2264
+ end
2265
+
2266
+ # Describes a lifecycle hook, which tells Auto Scaling that you want to
2267
+ # perform an action when an instance launches or terminates. When you
2268
+ # have a lifecycle hook in place, the Auto Scaling group will either:
2269
+ #
2270
+ # * Pause the instance after it launches, but before it is put into
2271
+ # service
2272
+ #
2273
+ # * Pause the instance as it terminates, but before it is fully
2274
+ # terminated
2275
+ #
2276
+ # For more information, see [Auto Scaling Lifecycle][1] in the *Auto
2277
+ # Scaling User Guide*.
2278
+ #
2279
+ #
2280
+ #
2281
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroupLifecycle.html
2282
+ # @!attribute [rw] lifecycle_hook_name
2283
+ # The name of the lifecycle hook.
2284
+ # @return [String]
2285
+ #
2286
+ # @!attribute [rw] auto_scaling_group_name
2287
+ # The name of the Auto Scaling group for the lifecycle hook.
2288
+ # @return [String]
2289
+ #
2290
+ # @!attribute [rw] lifecycle_transition
2291
+ # The state of the EC2 instance to which you want to attach the
2292
+ # lifecycle hook. For a list of lifecycle hook types, see
2293
+ # DescribeLifecycleHookTypes.
2294
+ # @return [String]
2295
+ #
2296
+ # @!attribute [rw] notification_target_arn
2297
+ # The ARN of the notification target that Auto Scaling uses to notify
2298
+ # you when an instance is in the transition state for the lifecycle
2299
+ # hook. This ARN target can be either an SQS queue or an SNS topic.
2300
+ # The notification message sent to the target includes the following:
2301
+ #
2302
+ # * Lifecycle action token
2303
+ #
2304
+ # * User account ID
2305
+ #
2306
+ # * Name of the Auto Scaling group
2307
+ #
2308
+ # * Lifecycle hook name
2309
+ #
2310
+ # * EC2 instance ID
2311
+ #
2312
+ # * Lifecycle transition
2313
+ #
2314
+ # * Notification metadata
2315
+ # @return [String]
2316
+ #
2317
+ # @!attribute [rw] role_arn
2318
+ # The ARN of the IAM role that allows the Auto Scaling group to
2319
+ # publish to the specified notification target.
2320
+ # @return [String]
2321
+ #
2322
+ # @!attribute [rw] notification_metadata
2323
+ # Additional information that you want to include any time Auto
2324
+ # Scaling sends a message to the notification target.
2325
+ # @return [String]
2326
+ #
2327
+ # @!attribute [rw] heartbeat_timeout
2328
+ # The maximum time, in seconds, that can elapse before the lifecycle
2329
+ # hook times out. The default is 3600 seconds (1 hour). When the
2330
+ # lifecycle hook times out, Auto Scaling performs the default action.
2331
+ # You can prevent the lifecycle hook from timing out by calling
2332
+ # RecordLifecycleActionHeartbeat.
2333
+ # @return [Integer]
2334
+ #
2335
+ # @!attribute [rw] global_timeout
2336
+ # The maximum time, in seconds, that an instance can remain in a
2337
+ # `Pending:Wait` or `Terminating:Wait` state. The maximum is 172800
2338
+ # seconds (48 hours) or 100 times `HeartbeatTimeout`, whichever is
2339
+ # smaller.
2340
+ # @return [Integer]
2341
+ #
2342
+ # @!attribute [rw] default_result
2343
+ # Defines the action the Auto Scaling group should take when the
2344
+ # lifecycle hook timeout elapses or if an unexpected failure occurs.
2345
+ # The valid values are `CONTINUE` and `ABANDON`. The default value is
2346
+ # `CONTINUE`.
2347
+ # @return [String]
2348
+ class LifecycleHook < Struct.new(
2349
+ :lifecycle_hook_name,
2350
+ :auto_scaling_group_name,
2351
+ :lifecycle_transition,
2352
+ :notification_target_arn,
2353
+ :role_arn,
2354
+ :notification_metadata,
2355
+ :heartbeat_timeout,
2356
+ :global_timeout,
2357
+ :default_result)
2358
+ include Aws::Structure
2359
+ end
2360
+
2361
+ # Describes the state of a Classic load balancer.
2362
+ #
2363
+ # If you specify a load balancer when creating the Auto Scaling group,
2364
+ # the state of the load balancer is `InService`.
2365
+ #
2366
+ # If you attach a load balancer to an existing Auto Scaling group, the
2367
+ # initial state is `Adding`. The state transitions to `Added` after all
2368
+ # instances in the group are registered with the load balancer. If ELB
2369
+ # health checks are enabled for the load balancer, the state transitions
2370
+ # to `InService` after at least one instance in the group passes the
2371
+ # health check. If EC2 health checks are enabled instead, the load
2372
+ # balancer remains in the `Added` state.
2373
+ # @!attribute [rw] load_balancer_name
2374
+ # The name of the load balancer.
2375
+ # @return [String]
2376
+ #
2377
+ # @!attribute [rw] state
2378
+ # One of the following load balancer states:
2379
+ #
2380
+ # * `Adding` - The instances in the group are being registered with
2381
+ # the load balancer.
2382
+ #
2383
+ # * `Added` - All instances in the group are registered with the load
2384
+ # balancer.
2385
+ #
2386
+ # * `InService` - At least one instance in the group passed an ELB
2387
+ # health check.
2388
+ #
2389
+ # * `Removing` - The instances in the group are being deregistered
2390
+ # from the load balancer. If connection draining is enabled, Elastic
2391
+ # Load Balancing waits for in-flight requests to complete before
2392
+ # deregistering the instances.
2393
+ #
2394
+ # * `Removed` - All instances in the group are deregistered from the
2395
+ # load balancer.
2396
+ # @return [String]
2397
+ class LoadBalancerState < Struct.new(
2398
+ :load_balancer_name,
2399
+ :state)
2400
+ include Aws::Structure
2401
+ end
2402
+
2403
+ # Describes the state of a target group.
2404
+ #
2405
+ # If you attach a target group to an existing Auto Scaling group, the
2406
+ # initial state is `Adding`. The state transitions to `Added` after all
2407
+ # Auto Scaling instances are registered with the target group. If ELB
2408
+ # health checks are enabled, the state transitions to `InService` after
2409
+ # at least one Auto Scaling instance passes the health check. If EC2
2410
+ # health checks are enabled instead, the target group remains in the
2411
+ # `Added` state.
2412
+ # @!attribute [rw] load_balancer_target_group_arn
2413
+ # The Amazon Resource Name (ARN) of the target group.
2414
+ # @return [String]
2415
+ #
2416
+ # @!attribute [rw] state
2417
+ # The state of the target group.
2418
+ #
2419
+ # * `Adding` - The Auto Scaling instances are being registered with
2420
+ # the target group.
2421
+ #
2422
+ # * `Added` - All Auto Scaling instances are registered with the
2423
+ # target group.
2424
+ #
2425
+ # * `InService` - At least one Auto Scaling instance passed an ELB
2426
+ # health check.
2427
+ #
2428
+ # * `Removing` - The Auto Scaling instances are being deregistered
2429
+ # from the target group. If connection draining is enabled, Elastic
2430
+ # Load Balancing waits for in-flight requests to complete before
2431
+ # deregistering the instances.
2432
+ #
2433
+ # * `Removed` - All Auto Scaling instances are deregistered from the
2434
+ # target group.
2435
+ # @return [String]
2436
+ class LoadBalancerTargetGroupState < Struct.new(
2437
+ :load_balancer_target_group_arn,
2438
+ :state)
2439
+ include Aws::Structure
2440
+ end
2441
+
2442
+ # Describes a metric.
2443
+ # @!attribute [rw] metric
2444
+ # One of the following metrics:
2445
+ #
2446
+ # * `GroupMinSize`
2447
+ #
2448
+ # * `GroupMaxSize`
2449
+ #
2450
+ # * `GroupDesiredCapacity`
2451
+ #
2452
+ # * `GroupInServiceInstances`
2453
+ #
2454
+ # * `GroupPendingInstances`
2455
+ #
2456
+ # * `GroupStandbyInstances`
2457
+ #
2458
+ # * `GroupTerminatingInstances`
2459
+ #
2460
+ # * `GroupTotalInstances`
2461
+ # @return [String]
2462
+ class MetricCollectionType < Struct.new(
2463
+ :metric)
2464
+ include Aws::Structure
2465
+ end
2466
+
2467
+ # Describes a granularity of a metric.
2468
+ # @!attribute [rw] granularity
2469
+ # The granularity. The only valid value is `1Minute`.
2470
+ # @return [String]
2471
+ class MetricGranularityType < Struct.new(
2472
+ :granularity)
2473
+ include Aws::Structure
2474
+ end
2475
+
2476
+ # Describes a notification.
2477
+ # @!attribute [rw] auto_scaling_group_name
2478
+ # The name of the group.
2479
+ # @return [String]
2480
+ #
2481
+ # @!attribute [rw] topic_arn
2482
+ # The Amazon Resource Name (ARN) of the Amazon Simple Notification
2483
+ # Service (SNS) topic.
2484
+ # @return [String]
2485
+ #
2486
+ # @!attribute [rw] notification_type
2487
+ # One of the following event notification types:
2488
+ #
2489
+ # * `autoscaling:EC2_INSTANCE_LAUNCH`
2490
+ #
2491
+ # * `autoscaling:EC2_INSTANCE_LAUNCH_ERROR`
2492
+ #
2493
+ # * `autoscaling:EC2_INSTANCE_TERMINATE`
2494
+ #
2495
+ # * `autoscaling:EC2_INSTANCE_TERMINATE_ERROR`
2496
+ #
2497
+ # * `autoscaling:TEST_NOTIFICATION`
2498
+ # @return [String]
2499
+ class NotificationConfiguration < Struct.new(
2500
+ :auto_scaling_group_name,
2501
+ :topic_arn,
2502
+ :notification_type)
2503
+ include Aws::Structure
2504
+ end
2505
+
2506
+ # Contains the output of DescribePolicies.
2507
+ # @!attribute [rw] scaling_policies
2508
+ # The scaling policies.
2509
+ # @return [Array<Types::ScalingPolicy>]
2510
+ #
2511
+ # @!attribute [rw] next_token
2512
+ # The token to use when requesting the next set of items. If there are
2513
+ # no additional items to return, the string is empty.
2514
+ # @return [String]
2515
+ class PoliciesType < Struct.new(
2516
+ :scaling_policies,
2517
+ :next_token)
2518
+ include Aws::Structure
2519
+ end
2520
+
2521
+ # Contains the output of PutScalingPolicy.
2522
+ # @!attribute [rw] policy_arn
2523
+ # The Amazon Resource Name (ARN) of the policy.
2524
+ # @return [String]
2525
+ class PolicyARNType < Struct.new(
2526
+ :policy_arn)
2527
+ include Aws::Structure
2528
+ end
2529
+
2530
+ # Describes a process type.
2531
+ #
2532
+ # For more information, see [Auto Scaling Processes][1] in the *Auto
2533
+ # Scaling User Guide*.
2534
+ #
2535
+ #
2536
+ #
2537
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-suspend-resume-processes.html#process-types
2538
+ # @!attribute [rw] process_name
2539
+ # One of the following processes:
2540
+ #
2541
+ # * `Launch`
2542
+ #
2543
+ # * `Terminate`
2544
+ #
2545
+ # * `AddToLoadBalancer`
2546
+ #
2547
+ # * `AlarmNotification`
2548
+ #
2549
+ # * `AZRebalance`
2550
+ #
2551
+ # * `HealthCheck`
2552
+ #
2553
+ # * `ReplaceUnhealthy`
2554
+ #
2555
+ # * `ScheduledActions`
2556
+ # @return [String]
2557
+ class ProcessType < Struct.new(
2558
+ :process_name)
2559
+ include Aws::Structure
2560
+ end
2561
+
2562
+ # Contains the output of DescribeScalingProcessTypes.
2563
+ # @!attribute [rw] processes
2564
+ # The names of the process types.
2565
+ # @return [Array<Types::ProcessType>]
2566
+ class ProcessesType < Struct.new(
2567
+ :processes)
2568
+ include Aws::Structure
2569
+ end
2570
+
2571
+ # Contains the output of PutLifecycleHook.
2572
+ class PutLifecycleHookAnswer < Aws::EmptyStructure; end
2573
+
2574
+ # Contains the parameters for PutLifecycleHook.
2575
+ # @note When making an API call, pass PutLifecycleHookType
2576
+ # data as a hash:
2577
+ #
2578
+ # {
2579
+ # lifecycle_hook_name: "AsciiStringMaxLen255", # required
2580
+ # auto_scaling_group_name: "ResourceName", # required
2581
+ # lifecycle_transition: "LifecycleTransition",
2582
+ # role_arn: "ResourceName",
2583
+ # notification_target_arn: "NotificationTargetResourceName",
2584
+ # notification_metadata: "XmlStringMaxLen1023",
2585
+ # heartbeat_timeout: 1,
2586
+ # default_result: "LifecycleActionResult",
2587
+ # }
2588
+ # @!attribute [rw] lifecycle_hook_name
2589
+ # The name of the lifecycle hook.
2590
+ # @return [String]
2591
+ #
2592
+ # @!attribute [rw] auto_scaling_group_name
2593
+ # The name of the Auto Scaling group to which you want to assign the
2594
+ # lifecycle hook.
2595
+ # @return [String]
2596
+ #
2597
+ # @!attribute [rw] lifecycle_transition
2598
+ # The instance state to which you want to attach the lifecycle hook.
2599
+ # For a list of lifecycle hook types, see DescribeLifecycleHookTypes.
2600
+ #
2601
+ # This parameter is required for new lifecycle hooks, but optional
2602
+ # when updating existing hooks.
2603
+ # @return [String]
2604
+ #
2605
+ # @!attribute [rw] role_arn
2606
+ # The ARN of the IAM role that allows the Auto Scaling group to
2607
+ # publish to the specified notification target.
2608
+ #
2609
+ # This parameter is required for new lifecycle hooks, but optional
2610
+ # when updating existing hooks.
2611
+ # @return [String]
2612
+ #
2613
+ # @!attribute [rw] notification_target_arn
2614
+ # The ARN of the notification target that Auto Scaling will use to
2615
+ # notify you when an instance is in the transition state for the
2616
+ # lifecycle hook. This target can be either an SQS queue or an SNS
2617
+ # topic. If you specify an empty string, this overrides the current
2618
+ # ARN.
2619
+ #
2620
+ # This operation uses the JSON format when sending notifications to an
2621
+ # Amazon SQS queue, and an email key/value pair format when sending
2622
+ # notifications to an Amazon SNS topic.
2623
+ #
2624
+ # When you specify a notification target, Auto Scaling sends it a test
2625
+ # message. Test messages contains the following additional key/value
2626
+ # pair: `"Event": "autoscaling:TEST_NOTIFICATION"`.
2627
+ # @return [String]
2628
+ #
2629
+ # @!attribute [rw] notification_metadata
2630
+ # Contains additional information that you want to include any time
2631
+ # Auto Scaling sends a message to the notification target.
2632
+ # @return [String]
2633
+ #
2634
+ # @!attribute [rw] heartbeat_timeout
2635
+ # The amount of time, in seconds, that can elapse before the lifecycle
2636
+ # hook times out. When the lifecycle hook times out, Auto Scaling
2637
+ # performs the default action. You can prevent the lifecycle hook from
2638
+ # timing out by calling RecordLifecycleActionHeartbeat. The default is
2639
+ # 3600 seconds (1 hour).
2640
+ # @return [Integer]
2641
+ #
2642
+ # @!attribute [rw] default_result
2643
+ # Defines the action the Auto Scaling group should take when the
2644
+ # lifecycle hook timeout elapses or if an unexpected failure occurs.
2645
+ # This parameter can be either `CONTINUE` or `ABANDON`. The default
2646
+ # value is `ABANDON`.
2647
+ # @return [String]
2648
+ class PutLifecycleHookType < Struct.new(
2649
+ :lifecycle_hook_name,
2650
+ :auto_scaling_group_name,
2651
+ :lifecycle_transition,
2652
+ :role_arn,
2653
+ :notification_target_arn,
2654
+ :notification_metadata,
2655
+ :heartbeat_timeout,
2656
+ :default_result)
2657
+ include Aws::Structure
2658
+ end
2659
+
2660
+ # Contains the parameters for PutNotificationConfiguration.
2661
+ # @note When making an API call, pass PutNotificationConfigurationType
2662
+ # data as a hash:
2663
+ #
2664
+ # {
2665
+ # auto_scaling_group_name: "ResourceName", # required
2666
+ # topic_arn: "ResourceName", # required
2667
+ # notification_types: ["XmlStringMaxLen255"], # required
2668
+ # }
2669
+ # @!attribute [rw] auto_scaling_group_name
2670
+ # The name of the Auto Scaling group.
2671
+ # @return [String]
2672
+ #
2673
+ # @!attribute [rw] topic_arn
2674
+ # The Amazon Resource Name (ARN) of the Amazon Simple Notification
2675
+ # Service (SNS) topic.
2676
+ # @return [String]
2677
+ #
2678
+ # @!attribute [rw] notification_types
2679
+ # The type of event that will cause the notification to be sent. For
2680
+ # details about notification types supported by Auto Scaling, see
2681
+ # DescribeAutoScalingNotificationTypes.
2682
+ # @return [Array<String>]
2683
+ class PutNotificationConfigurationType < Struct.new(
2684
+ :auto_scaling_group_name,
2685
+ :topic_arn,
2686
+ :notification_types)
2687
+ include Aws::Structure
2688
+ end
2689
+
2690
+ # Contains the parameters for PutScalingPolicy.
2691
+ # @note When making an API call, pass PutScalingPolicyType
2692
+ # data as a hash:
2693
+ #
2694
+ # {
2695
+ # auto_scaling_group_name: "ResourceName", # required
2696
+ # policy_name: "XmlStringMaxLen255", # required
2697
+ # policy_type: "XmlStringMaxLen64",
2698
+ # adjustment_type: "XmlStringMaxLen255", # required
2699
+ # min_adjustment_step: 1,
2700
+ # min_adjustment_magnitude: 1,
2701
+ # scaling_adjustment: 1,
2702
+ # cooldown: 1,
2703
+ # metric_aggregation_type: "XmlStringMaxLen32",
2704
+ # step_adjustments: [
2705
+ # {
2706
+ # metric_interval_lower_bound: 1.0,
2707
+ # metric_interval_upper_bound: 1.0,
2708
+ # scaling_adjustment: 1, # required
2709
+ # },
2710
+ # ],
2711
+ # estimated_instance_warmup: 1,
2712
+ # }
2713
+ # @!attribute [rw] auto_scaling_group_name
2714
+ # The name or ARN of the group.
2715
+ # @return [String]
2716
+ #
2717
+ # @!attribute [rw] policy_name
2718
+ # The name of the policy.
2719
+ # @return [String]
2720
+ #
2721
+ # @!attribute [rw] policy_type
2722
+ # The policy type. Valid values are `SimpleScaling` and `StepScaling`.
2723
+ # If the policy type is null, the value is treated as `SimpleScaling`.
2724
+ # @return [String]
2725
+ #
2726
+ # @!attribute [rw] adjustment_type
2727
+ # The adjustment type. Valid values are `ChangeInCapacity`,
2728
+ # `ExactCapacity`, and `PercentChangeInCapacity`.
2729
+ #
2730
+ # For more information, see [Dynamic Scaling][1] in the *Auto Scaling
2731
+ # User Guide*.
2732
+ #
2733
+ #
2734
+ #
2735
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-scale-based-on-demand.html
2736
+ # @return [String]
2737
+ #
2738
+ # @!attribute [rw] min_adjustment_step
2739
+ # Available for backward compatibility. Use `MinAdjustmentMagnitude`
2740
+ # instead.
2741
+ # @return [Integer]
2742
+ #
2743
+ # @!attribute [rw] min_adjustment_magnitude
2744
+ # The minimum number of instances to scale. If the value of
2745
+ # `AdjustmentType` is `PercentChangeInCapacity`, the scaling policy
2746
+ # changes the `DesiredCapacity` of the Auto Scaling group by at least
2747
+ # this many instances. Otherwise, the error is `ValidationError`.
2748
+ # @return [Integer]
2749
+ #
2750
+ # @!attribute [rw] scaling_adjustment
2751
+ # The amount by which to scale, based on the specified adjustment
2752
+ # type. A positive value adds to the current capacity while a negative
2753
+ # number removes from the current capacity.
2754
+ #
2755
+ # This parameter is required if the policy type is `SimpleScaling` and
2756
+ # not supported otherwise.
2757
+ # @return [Integer]
2758
+ #
2759
+ # @!attribute [rw] cooldown
2760
+ # The amount of time, in seconds, after a scaling activity completes
2761
+ # and before the next scaling activity can start. If this parameter is
2762
+ # not specified, the default cooldown period for the group applies.
2763
+ #
2764
+ # This parameter is not supported unless the policy type is
2765
+ # `SimpleScaling`.
2766
+ #
2767
+ # For more information, see [Auto Scaling Cooldowns][1] in the *Auto
2768
+ # Scaling User Guide*.
2769
+ #
2770
+ #
2771
+ #
2772
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/Cooldown.html
2773
+ # @return [Integer]
2774
+ #
2775
+ # @!attribute [rw] metric_aggregation_type
2776
+ # The aggregation type for the CloudWatch metrics. Valid values are
2777
+ # `Minimum`, `Maximum`, and `Average`. If the aggregation type is
2778
+ # null, the value is treated as `Average`.
2779
+ #
2780
+ # This parameter is not supported if the policy type is
2781
+ # `SimpleScaling`.
2782
+ # @return [String]
2783
+ #
2784
+ # @!attribute [rw] step_adjustments
2785
+ # A set of adjustments that enable you to scale based on the size of
2786
+ # the alarm breach.
2787
+ #
2788
+ # This parameter is required if the policy type is `StepScaling` and
2789
+ # not supported otherwise.
2790
+ # @return [Array<Types::StepAdjustment>]
2791
+ #
2792
+ # @!attribute [rw] estimated_instance_warmup
2793
+ # The estimated time, in seconds, until a newly launched instance can
2794
+ # contribute to the CloudWatch metrics. The default is to use the
2795
+ # value specified for the default cooldown period for the group.
2796
+ #
2797
+ # This parameter is not supported if the policy type is
2798
+ # `SimpleScaling`.
2799
+ # @return [Integer]
2800
+ class PutScalingPolicyType < Struct.new(
2801
+ :auto_scaling_group_name,
2802
+ :policy_name,
2803
+ :policy_type,
2804
+ :adjustment_type,
2805
+ :min_adjustment_step,
2806
+ :min_adjustment_magnitude,
2807
+ :scaling_adjustment,
2808
+ :cooldown,
2809
+ :metric_aggregation_type,
2810
+ :step_adjustments,
2811
+ :estimated_instance_warmup)
2812
+ include Aws::Structure
2813
+ end
2814
+
2815
+ # Contains the parameters for PutScheduledUpdateGroupAction.
2816
+ # @note When making an API call, pass PutScheduledUpdateGroupActionType
2817
+ # data as a hash:
2818
+ #
2819
+ # {
2820
+ # auto_scaling_group_name: "ResourceName", # required
2821
+ # scheduled_action_name: "XmlStringMaxLen255", # required
2822
+ # time: Time.now,
2823
+ # start_time: Time.now,
2824
+ # end_time: Time.now,
2825
+ # recurrence: "XmlStringMaxLen255",
2826
+ # min_size: 1,
2827
+ # max_size: 1,
2828
+ # desired_capacity: 1,
2829
+ # }
2830
+ # @!attribute [rw] auto_scaling_group_name
2831
+ # The name or Amazon Resource Name (ARN) of the Auto Scaling group.
2832
+ # @return [String]
2833
+ #
2834
+ # @!attribute [rw] scheduled_action_name
2835
+ # The name of this scaling action.
2836
+ # @return [String]
2837
+ #
2838
+ # @!attribute [rw] time
2839
+ # This parameter is deprecated.
2840
+ # @return [Time]
2841
+ #
2842
+ # @!attribute [rw] start_time
2843
+ # The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ"
2844
+ # format in UTC/GMT only (for example, `2014-06-01T00:00:00Z`).
2845
+ #
2846
+ # If you specify `Recurrence` and `StartTime`, Auto Scaling performs
2847
+ # the action at this time, and then performs the action based on the
2848
+ # specified recurrence.
2849
+ #
2850
+ # If you try to schedule your action in the past, Auto Scaling returns
2851
+ # an error message.
2852
+ # @return [Time]
2853
+ #
2854
+ # @!attribute [rw] end_time
2855
+ # The time for the recurring schedule to end. Auto Scaling does not
2856
+ # perform the action after this time.
2857
+ # @return [Time]
2858
+ #
2859
+ # @!attribute [rw] recurrence
2860
+ # The recurring schedule for this action, in Unix cron syntax format.
2861
+ # For more information, see [Cron][1] in Wikipedia.
2862
+ #
2863
+ #
2864
+ #
2865
+ # [1]: http://en.wikipedia.org/wiki/Cron
2866
+ # @return [String]
2867
+ #
2868
+ # @!attribute [rw] min_size
2869
+ # The minimum size for the Auto Scaling group.
2870
+ # @return [Integer]
2871
+ #
2872
+ # @!attribute [rw] max_size
2873
+ # The maximum size for the Auto Scaling group.
2874
+ # @return [Integer]
2875
+ #
2876
+ # @!attribute [rw] desired_capacity
2877
+ # The number of EC2 instances that should be running in the group.
2878
+ # @return [Integer]
2879
+ class PutScheduledUpdateGroupActionType < Struct.new(
2880
+ :auto_scaling_group_name,
2881
+ :scheduled_action_name,
2882
+ :time,
2883
+ :start_time,
2884
+ :end_time,
2885
+ :recurrence,
2886
+ :min_size,
2887
+ :max_size,
2888
+ :desired_capacity)
2889
+ include Aws::Structure
2890
+ end
2891
+
2892
+ # Contains the output of RecordLifecycleActionHeartBeat.
2893
+ class RecordLifecycleActionHeartbeatAnswer < Aws::EmptyStructure; end
2894
+
2895
+ # Contains the parameters for RecordLifecycleActionHeartbeat.
2896
+ # @note When making an API call, pass RecordLifecycleActionHeartbeatType
2897
+ # data as a hash:
2898
+ #
2899
+ # {
2900
+ # lifecycle_hook_name: "AsciiStringMaxLen255", # required
2901
+ # auto_scaling_group_name: "ResourceName", # required
2902
+ # lifecycle_action_token: "LifecycleActionToken",
2903
+ # instance_id: "XmlStringMaxLen19",
2904
+ # }
2905
+ # @!attribute [rw] lifecycle_hook_name
2906
+ # The name of the lifecycle hook.
2907
+ # @return [String]
2908
+ #
2909
+ # @!attribute [rw] auto_scaling_group_name
2910
+ # The name of the Auto Scaling group for the hook.
2911
+ # @return [String]
2912
+ #
2913
+ # @!attribute [rw] lifecycle_action_token
2914
+ # A token that uniquely identifies a specific lifecycle action
2915
+ # associated with an instance. Auto Scaling sends this token to the
2916
+ # notification target you specified when you created the lifecycle
2917
+ # hook.
2918
+ # @return [String]
2919
+ #
2920
+ # @!attribute [rw] instance_id
2921
+ # The ID of the instance.
2922
+ # @return [String]
2923
+ class RecordLifecycleActionHeartbeatType < Struct.new(
2924
+ :lifecycle_hook_name,
2925
+ :auto_scaling_group_name,
2926
+ :lifecycle_action_token,
2927
+ :instance_id)
2928
+ include Aws::Structure
2929
+ end
2930
+
2931
+ # Describes a scaling policy.
2932
+ # @!attribute [rw] auto_scaling_group_name
2933
+ # The name of the Auto Scaling group associated with this scaling
2934
+ # policy.
2935
+ # @return [String]
2936
+ #
2937
+ # @!attribute [rw] policy_name
2938
+ # The name of the scaling policy.
2939
+ # @return [String]
2940
+ #
2941
+ # @!attribute [rw] policy_arn
2942
+ # The Amazon Resource Name (ARN) of the policy.
2943
+ # @return [String]
2944
+ #
2945
+ # @!attribute [rw] policy_type
2946
+ # The policy type. Valid values are `SimpleScaling` and `StepScaling`.
2947
+ # @return [String]
2948
+ #
2949
+ # @!attribute [rw] adjustment_type
2950
+ # The adjustment type, which specifies how `ScalingAdjustment` is
2951
+ # interpreted. Valid values are `ChangeInCapacity`, `ExactCapacity`,
2952
+ # and `PercentChangeInCapacity`.
2953
+ # @return [String]
2954
+ #
2955
+ # @!attribute [rw] min_adjustment_step
2956
+ # Available for backward compatibility. Use `MinAdjustmentMagnitude`
2957
+ # instead.
2958
+ # @return [Integer]
2959
+ #
2960
+ # @!attribute [rw] min_adjustment_magnitude
2961
+ # The minimum number of instances to scale. If the value of
2962
+ # `AdjustmentType` is `PercentChangeInCapacity`, the scaling policy
2963
+ # changes the `DesiredCapacity` of the Auto Scaling group by at least
2964
+ # this many instances. Otherwise, the error is `ValidationError`.
2965
+ # @return [Integer]
2966
+ #
2967
+ # @!attribute [rw] scaling_adjustment
2968
+ # The amount by which to scale, based on the specified adjustment
2969
+ # type. A positive value adds to the current capacity while a negative
2970
+ # number removes from the current capacity.
2971
+ # @return [Integer]
2972
+ #
2973
+ # @!attribute [rw] cooldown
2974
+ # The amount of time, in seconds, after a scaling activity completes
2975
+ # before any further trigger-related scaling activities can start.
2976
+ # @return [Integer]
2977
+ #
2978
+ # @!attribute [rw] step_adjustments
2979
+ # A set of adjustments that enable you to scale based on the size of
2980
+ # the alarm breach.
2981
+ # @return [Array<Types::StepAdjustment>]
2982
+ #
2983
+ # @!attribute [rw] metric_aggregation_type
2984
+ # The aggregation type for the CloudWatch metrics. Valid values are
2985
+ # `Minimum`, `Maximum`, and `Average`.
2986
+ # @return [String]
2987
+ #
2988
+ # @!attribute [rw] estimated_instance_warmup
2989
+ # The estimated time, in seconds, until a newly launched instance can
2990
+ # contribute to the CloudWatch metrics.
2991
+ # @return [Integer]
2992
+ #
2993
+ # @!attribute [rw] alarms
2994
+ # The CloudWatch alarms related to the policy.
2995
+ # @return [Array<Types::Alarm>]
2996
+ class ScalingPolicy < Struct.new(
2997
+ :auto_scaling_group_name,
2998
+ :policy_name,
2999
+ :policy_arn,
3000
+ :policy_type,
3001
+ :adjustment_type,
3002
+ :min_adjustment_step,
3003
+ :min_adjustment_magnitude,
3004
+ :scaling_adjustment,
3005
+ :cooldown,
3006
+ :step_adjustments,
3007
+ :metric_aggregation_type,
3008
+ :estimated_instance_warmup,
3009
+ :alarms)
3010
+ include Aws::Structure
3011
+ end
3012
+
3013
+ # Contains the parameters for SuspendProcesses and ResumeProcesses.
3014
+ # @note When making an API call, pass ScalingProcessQuery
3015
+ # data as a hash:
3016
+ #
3017
+ # {
3018
+ # auto_scaling_group_name: "ResourceName", # required
3019
+ # scaling_processes: ["XmlStringMaxLen255"],
3020
+ # }
3021
+ # @!attribute [rw] auto_scaling_group_name
3022
+ # The name or Amazon Resource Name (ARN) of the Auto Scaling group.
3023
+ # @return [String]
3024
+ #
3025
+ # @!attribute [rw] scaling_processes
3026
+ # One or more of the following processes. If you omit this parameter,
3027
+ # all processes are specified.
3028
+ #
3029
+ # * `Launch`
3030
+ #
3031
+ # * `Terminate`
3032
+ #
3033
+ # * `HealthCheck`
3034
+ #
3035
+ # * `ReplaceUnhealthy`
3036
+ #
3037
+ # * `AZRebalance`
3038
+ #
3039
+ # * `AlarmNotification`
3040
+ #
3041
+ # * `ScheduledActions`
3042
+ #
3043
+ # * `AddToLoadBalancer`
3044
+ # @return [Array<String>]
3045
+ class ScalingProcessQuery < Struct.new(
3046
+ :auto_scaling_group_name,
3047
+ :scaling_processes)
3048
+ include Aws::Structure
3049
+ end
3050
+
3051
+ # Contains the output of DescribeScheduledActions.
3052
+ # @!attribute [rw] scheduled_update_group_actions
3053
+ # The scheduled actions.
3054
+ # @return [Array<Types::ScheduledUpdateGroupAction>]
3055
+ #
3056
+ # @!attribute [rw] next_token
3057
+ # The token to use when requesting the next set of items. If there are
3058
+ # no additional items to return, the string is empty.
3059
+ # @return [String]
3060
+ class ScheduledActionsType < Struct.new(
3061
+ :scheduled_update_group_actions,
3062
+ :next_token)
3063
+ include Aws::Structure
3064
+ end
3065
+
3066
+ # Describes a scheduled update to an Auto Scaling group.
3067
+ # @!attribute [rw] auto_scaling_group_name
3068
+ # The name of the group.
3069
+ # @return [String]
3070
+ #
3071
+ # @!attribute [rw] scheduled_action_name
3072
+ # The name of the scheduled action.
3073
+ # @return [String]
3074
+ #
3075
+ # @!attribute [rw] scheduled_action_arn
3076
+ # The Amazon Resource Name (ARN) of the scheduled action.
3077
+ # @return [String]
3078
+ #
3079
+ # @!attribute [rw] time
3080
+ # This parameter is deprecated.
3081
+ # @return [Time]
3082
+ #
3083
+ # @!attribute [rw] start_time
3084
+ # The date and time that the action is scheduled to begin. This date
3085
+ # and time can be up to one month in the future.
3086
+ #
3087
+ # When `StartTime` and `EndTime` are specified with `Recurrence`, they
3088
+ # form the boundaries of when the recurring action will start and
3089
+ # stop.
3090
+ # @return [Time]
3091
+ #
3092
+ # @!attribute [rw] end_time
3093
+ # The date and time that the action is scheduled to end. This date and
3094
+ # time can be up to one month in the future.
3095
+ # @return [Time]
3096
+ #
3097
+ # @!attribute [rw] recurrence
3098
+ # The recurring schedule for the action.
3099
+ # @return [String]
3100
+ #
3101
+ # @!attribute [rw] min_size
3102
+ # The minimum size of the group.
3103
+ # @return [Integer]
3104
+ #
3105
+ # @!attribute [rw] max_size
3106
+ # The maximum size of the group.
3107
+ # @return [Integer]
3108
+ #
3109
+ # @!attribute [rw] desired_capacity
3110
+ # The number of instances you prefer to maintain in the group.
3111
+ # @return [Integer]
3112
+ class ScheduledUpdateGroupAction < Struct.new(
3113
+ :auto_scaling_group_name,
3114
+ :scheduled_action_name,
3115
+ :scheduled_action_arn,
3116
+ :time,
3117
+ :start_time,
3118
+ :end_time,
3119
+ :recurrence,
3120
+ :min_size,
3121
+ :max_size,
3122
+ :desired_capacity)
3123
+ include Aws::Structure
3124
+ end
3125
+
3126
+ # Contains the parameters for SetDesiredCapacity.
3127
+ # @note When making an API call, pass SetDesiredCapacityType
3128
+ # data as a hash:
3129
+ #
3130
+ # {
3131
+ # auto_scaling_group_name: "ResourceName", # required
3132
+ # desired_capacity: 1, # required
3133
+ # honor_cooldown: false,
3134
+ # }
3135
+ # @!attribute [rw] auto_scaling_group_name
3136
+ # The name of the Auto Scaling group.
3137
+ # @return [String]
3138
+ #
3139
+ # @!attribute [rw] desired_capacity
3140
+ # The number of EC2 instances that should be running in the Auto
3141
+ # Scaling group.
3142
+ # @return [Integer]
3143
+ #
3144
+ # @!attribute [rw] honor_cooldown
3145
+ # By default, `SetDesiredCapacity` overrides any cooldown period
3146
+ # associated with the Auto Scaling group. Specify `True` to make Auto
3147
+ # Scaling to wait for the cool-down period associated with the Auto
3148
+ # Scaling group to complete before initiating a scaling activity to
3149
+ # set your Auto Scaling group to its new capacity.
3150
+ # @return [Boolean]
3151
+ class SetDesiredCapacityType < Struct.new(
3152
+ :auto_scaling_group_name,
3153
+ :desired_capacity,
3154
+ :honor_cooldown)
3155
+ include Aws::Structure
3156
+ end
3157
+
3158
+ # Contains the parameters for SetInstanceHealth.
3159
+ # @note When making an API call, pass SetInstanceHealthQuery
3160
+ # data as a hash:
3161
+ #
3162
+ # {
3163
+ # instance_id: "XmlStringMaxLen19", # required
3164
+ # health_status: "XmlStringMaxLen32", # required
3165
+ # should_respect_grace_period: false,
3166
+ # }
3167
+ # @!attribute [rw] instance_id
3168
+ # The ID of the instance.
3169
+ # @return [String]
3170
+ #
3171
+ # @!attribute [rw] health_status
3172
+ # The health status of the instance. Set to `Healthy` if you want the
3173
+ # instance to remain in service. Set to `Unhealthy` if you want the
3174
+ # instance to be out of service. Auto Scaling will terminate and
3175
+ # replace the unhealthy instance.
3176
+ # @return [String]
3177
+ #
3178
+ # @!attribute [rw] should_respect_grace_period
3179
+ # If the Auto Scaling group of the specified instance has a
3180
+ # `HealthCheckGracePeriod` specified for the group, by default, this
3181
+ # call will respect the grace period. Set this to `False`, if you do
3182
+ # not want the call to respect the grace period associated with the
3183
+ # group.
3184
+ #
3185
+ # For more information, see the description of the health check grace
3186
+ # period for CreateAutoScalingGroup.
3187
+ # @return [Boolean]
3188
+ class SetInstanceHealthQuery < Struct.new(
3189
+ :instance_id,
3190
+ :health_status,
3191
+ :should_respect_grace_period)
3192
+ include Aws::Structure
3193
+ end
3194
+
3195
+ # Contains the output of SetInstanceProtection.
3196
+ class SetInstanceProtectionAnswer < Aws::EmptyStructure; end
3197
+
3198
+ # Contains the parameters for SetInstanceProtection.
3199
+ # @note When making an API call, pass SetInstanceProtectionQuery
3200
+ # data as a hash:
3201
+ #
3202
+ # {
3203
+ # instance_ids: ["XmlStringMaxLen19"], # required
3204
+ # auto_scaling_group_name: "ResourceName", # required
3205
+ # protected_from_scale_in: false, # required
3206
+ # }
3207
+ # @!attribute [rw] instance_ids
3208
+ # One or more instance IDs.
3209
+ # @return [Array<String>]
3210
+ #
3211
+ # @!attribute [rw] auto_scaling_group_name
3212
+ # The name of the group.
3213
+ # @return [String]
3214
+ #
3215
+ # @!attribute [rw] protected_from_scale_in
3216
+ # Indicates whether the instance is protected from termination by Auto
3217
+ # Scaling when scaling in.
3218
+ # @return [Boolean]
3219
+ class SetInstanceProtectionQuery < Struct.new(
3220
+ :instance_ids,
3221
+ :auto_scaling_group_name,
3222
+ :protected_from_scale_in)
3223
+ include Aws::Structure
3224
+ end
3225
+
3226
+ # Describes an adjustment based on the difference between the value of
3227
+ # the aggregated CloudWatch metric and the breach threshold that you've
3228
+ # defined for the alarm.
3229
+ #
3230
+ # For the following examples, suppose that you have an alarm with a
3231
+ # breach threshold of 50:
3232
+ #
3233
+ # * If you want the adjustment to be triggered when the metric is
3234
+ # greater than or equal to 50 and less than 60, specify a lower bound
3235
+ # of 0 and an upper bound of 10.
3236
+ #
3237
+ # * If you want the adjustment to be triggered when the metric is
3238
+ # greater than 40 and less than or equal to 50, specify a lower bound
3239
+ # of -10 and an upper bound of 0.
3240
+ #
3241
+ # There are a few rules for the step adjustments for your step policy:
3242
+ #
3243
+ # * The ranges of your step adjustments can't overlap or have a gap.
3244
+ #
3245
+ # * At most one step adjustment can have a null lower bound. If one step
3246
+ # adjustment has a negative lower bound, then there must be a step
3247
+ # adjustment with a null lower bound.
3248
+ #
3249
+ # * At most one step adjustment can have a null upper bound. If one step
3250
+ # adjustment has a positive upper bound, then there must be a step
3251
+ # adjustment with a null upper bound.
3252
+ #
3253
+ # * The upper and lower bound can't be null in the same step
3254
+ # adjustment.
3255
+ # @note When making an API call, pass StepAdjustment
3256
+ # data as a hash:
3257
+ #
3258
+ # {
3259
+ # metric_interval_lower_bound: 1.0,
3260
+ # metric_interval_upper_bound: 1.0,
3261
+ # scaling_adjustment: 1, # required
3262
+ # }
3263
+ # @!attribute [rw] metric_interval_lower_bound
3264
+ # The lower bound for the difference between the alarm threshold and
3265
+ # the CloudWatch metric. If the metric value is above the breach
3266
+ # threshold, the lower bound is inclusive (the metric must be greater
3267
+ # than or equal to the threshold plus the lower bound). Otherwise, it
3268
+ # is exclusive (the metric must be greater than the threshold plus the
3269
+ # lower bound). A null value indicates negative infinity.
3270
+ # @return [Float]
3271
+ #
3272
+ # @!attribute [rw] metric_interval_upper_bound
3273
+ # The upper bound for the difference between the alarm threshold and
3274
+ # the CloudWatch metric. If the metric value is above the breach
3275
+ # threshold, the upper bound is exclusive (the metric must be less
3276
+ # than the threshold plus the upper bound). Otherwise, it is inclusive
3277
+ # (the metric must be less than or equal to the threshold plus the
3278
+ # upper bound). A null value indicates positive infinity.
3279
+ #
3280
+ # The upper bound must be greater than the lower bound.
3281
+ # @return [Float]
3282
+ #
3283
+ # @!attribute [rw] scaling_adjustment
3284
+ # The amount by which to scale, based on the specified adjustment
3285
+ # type. A positive value adds to the current capacity while a negative
3286
+ # number removes from the current capacity.
3287
+ # @return [Integer]
3288
+ class StepAdjustment < Struct.new(
3289
+ :metric_interval_lower_bound,
3290
+ :metric_interval_upper_bound,
3291
+ :scaling_adjustment)
3292
+ include Aws::Structure
3293
+ end
3294
+
3295
+ # Describes an Auto Scaling process that has been suspended. For more
3296
+ # information, see ProcessType.
3297
+ # @!attribute [rw] process_name
3298
+ # The name of the suspended process.
3299
+ # @return [String]
3300
+ #
3301
+ # @!attribute [rw] suspension_reason
3302
+ # The reason that the process was suspended.
3303
+ # @return [String]
3304
+ class SuspendedProcess < Struct.new(
3305
+ :process_name,
3306
+ :suspension_reason)
3307
+ include Aws::Structure
3308
+ end
3309
+
3310
+ # Describes a tag for an Auto Scaling group.
3311
+ # @note When making an API call, pass Tag
3312
+ # data as a hash:
3313
+ #
3314
+ # {
3315
+ # resource_id: "XmlString",
3316
+ # resource_type: "XmlString",
3317
+ # key: "TagKey", # required
3318
+ # value: "TagValue",
3319
+ # propagate_at_launch: false,
3320
+ # }
3321
+ # @!attribute [rw] resource_id
3322
+ # The name of the group.
3323
+ # @return [String]
3324
+ #
3325
+ # @!attribute [rw] resource_type
3326
+ # The type of resource. The only supported value is
3327
+ # `auto-scaling-group`.
3328
+ # @return [String]
3329
+ #
3330
+ # @!attribute [rw] key
3331
+ # The tag key.
3332
+ # @return [String]
3333
+ #
3334
+ # @!attribute [rw] value
3335
+ # The tag value.
3336
+ # @return [String]
3337
+ #
3338
+ # @!attribute [rw] propagate_at_launch
3339
+ # Determines whether the tag is added to new instances as they are
3340
+ # launched in the group.
3341
+ # @return [Boolean]
3342
+ class Tag < Struct.new(
3343
+ :resource_id,
3344
+ :resource_type,
3345
+ :key,
3346
+ :value,
3347
+ :propagate_at_launch)
3348
+ include Aws::Structure
3349
+ end
3350
+
3351
+ # Describes a tag for an Auto Scaling group.
3352
+ # @!attribute [rw] resource_id
3353
+ # The name of the group.
3354
+ # @return [String]
3355
+ #
3356
+ # @!attribute [rw] resource_type
3357
+ # The type of resource. The only supported value is
3358
+ # `auto-scaling-group`.
3359
+ # @return [String]
3360
+ #
3361
+ # @!attribute [rw] key
3362
+ # The tag key.
3363
+ # @return [String]
3364
+ #
3365
+ # @!attribute [rw] value
3366
+ # The tag value.
3367
+ # @return [String]
3368
+ #
3369
+ # @!attribute [rw] propagate_at_launch
3370
+ # Determines whether the tag is added to new instances as they are
3371
+ # launched in the group.
3372
+ # @return [Boolean]
3373
+ class TagDescription < Struct.new(
3374
+ :resource_id,
3375
+ :resource_type,
3376
+ :key,
3377
+ :value,
3378
+ :propagate_at_launch)
3379
+ include Aws::Structure
3380
+ end
3381
+
3382
+ # Contains the output of DescribeTags.
3383
+ # @!attribute [rw] tags
3384
+ # One or more tags.
3385
+ # @return [Array<Types::TagDescription>]
3386
+ #
3387
+ # @!attribute [rw] next_token
3388
+ # The token to use when requesting the next set of items. If there are
3389
+ # no additional items to return, the string is empty.
3390
+ # @return [String]
3391
+ class TagsType < Struct.new(
3392
+ :tags,
3393
+ :next_token)
3394
+ include Aws::Structure
3395
+ end
3396
+
3397
+ # Contains the parameters for TerminateInstanceInAutoScalingGroup.
3398
+ # @note When making an API call, pass TerminateInstanceInAutoScalingGroupType
3399
+ # data as a hash:
3400
+ #
3401
+ # {
3402
+ # instance_id: "XmlStringMaxLen19", # required
3403
+ # should_decrement_desired_capacity: false, # required
3404
+ # }
3405
+ # @!attribute [rw] instance_id
3406
+ # The ID of the instance.
3407
+ # @return [String]
3408
+ #
3409
+ # @!attribute [rw] should_decrement_desired_capacity
3410
+ # If `true`, terminating the instance also decrements the size of the
3411
+ # Auto Scaling group.
3412
+ # @return [Boolean]
3413
+ class TerminateInstanceInAutoScalingGroupType < Struct.new(
3414
+ :instance_id,
3415
+ :should_decrement_desired_capacity)
3416
+ include Aws::Structure
3417
+ end
3418
+
3419
+ # Contains the parameters for UpdateAutoScalingGroup.
3420
+ # @note When making an API call, pass UpdateAutoScalingGroupType
3421
+ # data as a hash:
3422
+ #
3423
+ # {
3424
+ # auto_scaling_group_name: "ResourceName", # required
3425
+ # launch_configuration_name: "ResourceName",
3426
+ # min_size: 1,
3427
+ # max_size: 1,
3428
+ # desired_capacity: 1,
3429
+ # default_cooldown: 1,
3430
+ # availability_zones: ["XmlStringMaxLen255"],
3431
+ # health_check_type: "XmlStringMaxLen32",
3432
+ # health_check_grace_period: 1,
3433
+ # placement_group: "XmlStringMaxLen255",
3434
+ # vpc_zone_identifier: "XmlStringMaxLen2047",
3435
+ # termination_policies: ["XmlStringMaxLen1600"],
3436
+ # new_instances_protected_from_scale_in: false,
3437
+ # }
3438
+ # @!attribute [rw] auto_scaling_group_name
3439
+ # The name of the Auto Scaling group.
3440
+ # @return [String]
3441
+ #
3442
+ # @!attribute [rw] launch_configuration_name
3443
+ # The name of the launch configuration.
3444
+ # @return [String]
3445
+ #
3446
+ # @!attribute [rw] min_size
3447
+ # The minimum size of the Auto Scaling group.
3448
+ # @return [Integer]
3449
+ #
3450
+ # @!attribute [rw] max_size
3451
+ # The maximum size of the Auto Scaling group.
3452
+ # @return [Integer]
3453
+ #
3454
+ # @!attribute [rw] desired_capacity
3455
+ # The number of EC2 instances that should be running in the Auto
3456
+ # Scaling group. This number must be greater than or equal to the
3457
+ # minimum size of the group and less than or equal to the maximum size
3458
+ # of the group.
3459
+ # @return [Integer]
3460
+ #
3461
+ # @!attribute [rw] default_cooldown
3462
+ # The amount of time, in seconds, after a scaling activity completes
3463
+ # before another scaling activity can start. The default is 300.
3464
+ #
3465
+ # For more information, see [Auto Scaling Cooldowns][1] in the *Auto
3466
+ # Scaling User Guide*.
3467
+ #
3468
+ #
3469
+ #
3470
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/Cooldown.html
3471
+ # @return [Integer]
3472
+ #
3473
+ # @!attribute [rw] availability_zones
3474
+ # One or more Availability Zones for the group.
3475
+ # @return [Array<String>]
3476
+ #
3477
+ # @!attribute [rw] health_check_type
3478
+ # The service to use for the health checks. The valid values are `EC2`
3479
+ # and `ELB`.
3480
+ # @return [String]
3481
+ #
3482
+ # @!attribute [rw] health_check_grace_period
3483
+ # The amount of time, in seconds, that Auto Scaling waits before
3484
+ # checking the health status of an EC2 instance that has come into
3485
+ # service. The default is 0.
3486
+ #
3487
+ # For more information, see [Health Checks][1] in the *Auto Scaling
3488
+ # User Guide*.
3489
+ #
3490
+ #
3491
+ #
3492
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/healthcheck.html
3493
+ # @return [Integer]
3494
+ #
3495
+ # @!attribute [rw] placement_group
3496
+ # The name of the placement group into which you'll launch your
3497
+ # instances, if any. For more information, see [Placement Groups][1]
3498
+ # in the *Amazon Elastic Compute Cloud User Guide*.
3499
+ #
3500
+ #
3501
+ #
3502
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
3503
+ # @return [String]
3504
+ #
3505
+ # @!attribute [rw] vpc_zone_identifier
3506
+ # The ID of the subnet, if you are launching into a VPC. You can
3507
+ # specify several subnets in a comma-separated list.
3508
+ #
3509
+ # When you specify `VPCZoneIdentifier` with `AvailabilityZones`,
3510
+ # ensure that the subnets' Availability Zones match the values you
3511
+ # specify for `AvailabilityZones`.
3512
+ #
3513
+ # For more information, see [Launching Auto Scaling Instances in a
3514
+ # VPC][1] in the *Auto Scaling User Guide*.
3515
+ #
3516
+ #
3517
+ #
3518
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/asg-in-vpc.html
3519
+ # @return [String]
3520
+ #
3521
+ # @!attribute [rw] termination_policies
3522
+ # A standalone termination policy or a list of termination policies
3523
+ # used to select the instance to terminate. The policies are executed
3524
+ # in the order that they are listed.
3525
+ #
3526
+ # For more information, see [Controlling Which Instances Auto Scaling
3527
+ # Terminates During Scale In][1] in the *Auto Scaling User Guide*.
3528
+ #
3529
+ #
3530
+ #
3531
+ # [1]: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-termination.html
3532
+ # @return [Array<String>]
3533
+ #
3534
+ # @!attribute [rw] new_instances_protected_from_scale_in
3535
+ # Indicates whether newly launched instances are protected from
3536
+ # termination by Auto Scaling when scaling in.
3537
+ # @return [Boolean]
3538
+ class UpdateAutoScalingGroupType < Struct.new(
3539
+ :auto_scaling_group_name,
3540
+ :launch_configuration_name,
3541
+ :min_size,
3542
+ :max_size,
3543
+ :desired_capacity,
3544
+ :default_cooldown,
3545
+ :availability_zones,
3546
+ :health_check_type,
3547
+ :health_check_grace_period,
3548
+ :placement_group,
3549
+ :vpc_zone_identifier,
3550
+ :termination_policies,
3551
+ :new_instances_protected_from_scale_in)
3552
+ include Aws::Structure
3553
+ end
3554
+
3555
+ end
3556
+ end
3557
+ end