aws-sdk-autoscaling 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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