aws-sdk-autoscaling 1.77.0 → 1.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -391,9 +391,7 @@ module Aws::AutoScaling
391
391
  # @return [String]
392
392
  #
393
393
  # @!attribute [rw] health_check_grace_period
394
- # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
395
- # before checking the health status of an EC2 instance that has come
396
- # into service and marking it unhealthy due to a failed health check.
394
+ # The duration of the health check grace period, in seconds.
397
395
  # @return [Integer]
398
396
  #
399
397
  # @!attribute [rw] instances
@@ -471,20 +469,13 @@ module Aws::AutoScaling
471
469
  # @!attribute [rw] desired_capacity_type
472
470
  # The unit of measurement for the value specified for desired
473
471
  # capacity. Amazon EC2 Auto Scaling supports `DesiredCapacityType` for
474
- # attribute-based instance type selection only. For more information,
475
- # see [Creating an Auto Scaling group using attribute-based instance
476
- # type selection][1] in the *Amazon EC2 Auto Scaling User Guide*.
477
- #
478
- # By default, Amazon EC2 Auto Scaling specifies `units`, which
479
- # translates into number of instances.
480
- #
481
- # Valid values: `units` \| `vcpu` \| `memory-mib`
482
- #
483
- #
484
- #
485
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
472
+ # attribute-based instance type selection only.
486
473
  # @return [String]
487
474
  #
475
+ # @!attribute [rw] default_instance_warmup
476
+ # The duration of the default instance warmup, in seconds.
477
+ # @return [Integer]
478
+ #
488
479
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AutoScalingGroup AWS API Documentation
489
480
  #
490
481
  class AutoScalingGroup < Struct.new(
@@ -519,7 +510,8 @@ module Aws::AutoScaling
519
510
  :warm_pool_configuration,
520
511
  :warm_pool_size,
521
512
  :context,
522
- :desired_capacity_type)
513
+ :desired_capacity_type,
514
+ :default_instance_warmup)
523
515
  SENSITIVE = []
524
516
  include Aws::Structure
525
517
  end
@@ -542,9 +534,9 @@ module Aws::AutoScaling
542
534
  # @!attribute [rw] auto_scaling_group_names
543
535
  # The names of the Auto Scaling groups. By default, you can only
544
536
  # specify up to 50 names. You can optionally increase this limit using
545
- # the `MaxRecords` parameter.
537
+ # the `MaxRecords` property.
546
538
  #
547
- # If you omit this parameter, all Auto Scaling groups are described.
539
+ # If you omit this property, all Auto Scaling groups are described.
548
540
  # @return [Array<String>]
549
541
  #
550
542
  # @!attribute [rw] next_token
@@ -616,7 +608,7 @@ module Aws::AutoScaling
616
608
  # used. For information about lifecycle states, see [Instance
617
609
  # lifecycle][1] in the *Amazon EC2 Auto Scaling User Guide*.
618
610
  #
619
- # Valid Values: `Pending` \| `Pending:Wait` \| `Pending:Proceed` \|
611
+ # Valid values: `Pending` \| `Pending:Wait` \| `Pending:Proceed` \|
620
612
  # `Quarantined` \| `InService` \| `Terminating` \| `Terminating:Wait`
621
613
  # \| `Terminating:Proceed` \| `Terminated` \| `Detaching` \|
622
614
  # `Detached` \| `EnteringStandby` \| `Standby` \| `Warmed:Pending` \|
@@ -835,15 +827,22 @@ module Aws::AutoScaling
835
827
  # }
836
828
  #
837
829
  # @!attribute [rw] virtual_name
838
- # The name of the virtual device (for example, `ephemeral0`).
839
- #
840
- # You can specify either `VirtualName` or `Ebs`, but not both.
830
+ # The name of the instance store volume (virtual device) to attach to
831
+ # an instance at launch. The name must be in the form ephemeral*X*
832
+ # where *X* is a number starting from zero (0), for example,
833
+ # `ephemeral0`.
841
834
  # @return [String]
842
835
  #
843
836
  # @!attribute [rw] device_name
844
- # The device name exposed to the EC2 instance (for example, `/dev/sdh`
845
- # or `xvdh`). For more information, see [Device Naming on Linux
846
- # Instances][1] in the *Amazon EC2 User Guide for Linux Instances*.
837
+ # The device name assigned to the volume (for example, `/dev/sdh` or
838
+ # `xvdh`). For more information, see [Device naming on Linux
839
+ # instances][1] in the *Amazon EC2 User Guide for Linux Instances*.
840
+ #
841
+ # <note markdown="1"> To define a block device mapping, set the device name and exactly
842
+ # one of the following properties: `Ebs`, `NoDevice`, or
843
+ # `VirtualName`.
844
+ #
845
+ # </note>
847
846
  #
848
847
  #
849
848
  #
@@ -851,21 +850,17 @@ module Aws::AutoScaling
851
850
  # @return [String]
852
851
  #
853
852
  # @!attribute [rw] ebs
854
- # Parameters used to automatically set up EBS volumes when an instance
855
- # is launched.
856
- #
857
- # You can specify either `VirtualName` or `Ebs`, but not both.
853
+ # Information to attach an EBS volume to an instance at launch.
858
854
  # @return [Types::Ebs]
859
855
  #
860
856
  # @!attribute [rw] no_device
861
- # Setting this value to `true` suppresses the specified device
862
- # included in the block device mapping of the AMI.
857
+ # Setting this value to `true` prevents a volume that is included in
858
+ # the block device mapping of the AMI from being mapped to the
859
+ # specified device name at launch.
863
860
  #
864
861
  # If `NoDevice` is `true` for the root device, instances might fail
865
862
  # the EC2 health check. In that case, Amazon EC2 Auto Scaling launches
866
863
  # replacement instances.
867
- #
868
- # If you specify `NoDevice`, you cannot specify `Ebs`.
869
864
  # @return [Boolean]
870
865
  #
871
866
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/BlockDeviceMapping AWS API Documentation
@@ -963,8 +958,8 @@ module Aws::AutoScaling
963
958
  # @return [String]
964
959
  #
965
960
  # @!attribute [rw] lifecycle_action_result
966
- # The action for the group to take. This parameter can be either
967
- # `CONTINUE` or `ABANDON`.
961
+ # The action for the group to take. You can specify either `CONTINUE`
962
+ # or `ABANDON`.
968
963
  # @return [String]
969
964
  #
970
965
  # @!attribute [rw] instance_id
@@ -1108,6 +1103,7 @@ module Aws::AutoScaling
1108
1103
  # max_instance_lifetime: 1,
1109
1104
  # context: "Context",
1110
1105
  # desired_capacity_type: "XmlStringMaxLen255",
1106
+ # default_instance_warmup: 1,
1111
1107
  # }
1112
1108
  #
1113
1109
  # @!attribute [rw] auto_scaling_group_name
@@ -1124,8 +1120,8 @@ module Aws::AutoScaling
1124
1120
  # @return [String]
1125
1121
  #
1126
1122
  # @!attribute [rw] launch_template
1127
- # Parameters used to specify the launch template and version to use to
1128
- # launch instances.
1123
+ # Information used to specify the launch template and version to use
1124
+ # to launch instances.
1129
1125
  #
1130
1126
  # Conditional: You must specify either a launch template
1131
1127
  # (`LaunchTemplate` or `MixedInstancesPolicy`) or a launch
@@ -1198,13 +1194,15 @@ module Aws::AutoScaling
1198
1194
  # @return [Integer]
1199
1195
  #
1200
1196
  # @!attribute [rw] default_cooldown
1201
- # The amount of time, in seconds, after a scaling activity completes
1202
- # before another scaling activity can start. The default value is
1203
- # `300`. This setting applies when using simple scaling policies, but
1204
- # not when using other scaling policies or scheduled scaling. For more
1197
+ # *Only needed if you use simple scaling policies.*
1198
+ #
1199
+ # The amount of time, in seconds, between one scaling activity ending
1200
+ # and another one starting due to simple scaling policies. For more
1205
1201
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1]
1206
1202
  # in the *Amazon EC2 Auto Scaling User Guide*.
1207
1203
  #
1204
+ # Default: `300` seconds
1205
+ #
1208
1206
  #
1209
1207
  #
1210
1208
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
@@ -1212,26 +1210,27 @@ module Aws::AutoScaling
1212
1210
  #
1213
1211
  # @!attribute [rw] availability_zones
1214
1212
  # A list of Availability Zones where instances in the Auto Scaling
1215
- # group can be created. This parameter is optional if you specify one
1216
- # or more subnets for `VPCZoneIdentifier`.
1217
- #
1218
- # Conditional: If your account supports EC2-Classic and VPC, this
1219
- # parameter is required to launch instances into EC2-Classic.
1213
+ # group can be created. Used for launching into the default VPC subnet
1214
+ # in each Availability Zone when not using the `VPCZoneIdentifier`
1215
+ # property, or for attaching a network interface when an existing
1216
+ # network interface ID is specified in a launch template.
1220
1217
  # @return [Array<String>]
1221
1218
  #
1222
1219
  # @!attribute [rw] load_balancer_names
1223
1220
  # A list of Classic Load Balancers associated with this Auto Scaling
1224
1221
  # group. For Application Load Balancers, Network Load Balancers, and
1225
- # Gateway Load Balancers, specify the `TargetGroupARNs` property
1222
+ # Gateway Load Balancer, specify the `TargetGroupARNs` property
1226
1223
  # instead.
1227
1224
  # @return [Array<String>]
1228
1225
  #
1229
1226
  # @!attribute [rw] target_group_arns
1230
1227
  # The Amazon Resource Names (ARN) of the target groups to associate
1231
- # with the Auto Scaling group. Instances are registered as targets in
1232
- # a target group, and traffic is routed to the target group. For more
1233
- # information, see [Elastic Load Balancing and Amazon EC2 Auto
1234
- # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
1228
+ # with the Auto Scaling group. Instances are registered as targets
1229
+ # with the target groups. The target groups receive incoming traffic
1230
+ # and route requests to one or more registered targets. For more
1231
+ # information, see [Use Elastic Load Balancing to distribute traffic
1232
+ # across the instances in your Auto Scaling group][1] in the *Amazon
1233
+ # EC2 Auto Scaling User Guide*.
1235
1234
  #
1236
1235
  #
1237
1236
  #
@@ -1255,11 +1254,13 @@ module Aws::AutoScaling
1255
1254
  # @!attribute [rw] health_check_grace_period
1256
1255
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
1257
1256
  # before checking the health status of an EC2 instance that has come
1258
- # into service and marking it unhealthy due to a failed health check.
1259
- # The default value is `0`. For more information, see [Health check
1260
- # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
1257
+ # into service and marking it unhealthy due to a failed Elastic Load
1258
+ # Balancing or custom health check. This is useful if your instances
1259
+ # do not immediately pass these health checks after they enter the
1260
+ # `InService` state. For more information, see [Health check grace
1261
+ # period][1] in the *Amazon EC2 Auto Scaling User Guide*.
1261
1262
  #
1262
- # Conditional: Required if you are adding an `ELB` health check.
1263
+ # Default: `0` seconds
1263
1264
  #
1264
1265
  #
1265
1266
  #
@@ -1267,12 +1268,15 @@ module Aws::AutoScaling
1267
1268
  # @return [Integer]
1268
1269
  #
1269
1270
  # @!attribute [rw] placement_group
1270
- # The name of an existing placement group into which to launch your
1271
- # instances, if any. A placement group is a logical grouping of
1272
- # instances within a single Availability Zone. You cannot specify
1273
- # multiple Availability Zones and a placement group. For more
1274
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
1275
- # for Linux Instances*.
1271
+ # The name of the placement group into which to launch your instances.
1272
+ # For more information, see [Placement groups][1] in the *Amazon EC2
1273
+ # User Guide for Linux Instances*.
1274
+ #
1275
+ # <note markdown="1"> A *cluster* placement group is a logical grouping of instances
1276
+ # within a single Availability Zone. You cannot specify multiple
1277
+ # Availability Zones and a cluster placement group.
1278
+ #
1279
+ # </note>
1276
1280
  #
1277
1281
  #
1278
1282
  #
@@ -1283,23 +1287,24 @@ module Aws::AutoScaling
1283
1287
  # A comma-separated list of subnet IDs for a virtual private cloud
1284
1288
  # (VPC) where instances in the Auto Scaling group can be created. If
1285
1289
  # you specify `VPCZoneIdentifier` with `AvailabilityZones`, the
1286
- # subnets that you specify for this parameter must reside in those
1287
- # Availability Zones.
1288
- #
1289
- # Conditional: If your account supports EC2-Classic and VPC, this
1290
- # parameter is required to launch instances into a VPC.
1290
+ # subnets that you specify must reside in those Availability Zones.
1291
1291
  # @return [String]
1292
1292
  #
1293
1293
  # @!attribute [rw] termination_policies
1294
1294
  # A policy or a list of policies that are used to select the instance
1295
1295
  # to terminate. These policies are executed in the order that you list
1296
- # them. For more information, see [Controlling which Auto Scaling
1297
- # instances terminate during scale in][1] in the *Amazon EC2 Auto
1298
- # Scaling User Guide*.
1296
+ # them. For more information, see [Work with Amazon EC2 Auto Scaling
1297
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User
1298
+ # Guide*.
1299
+ #
1300
+ # Valid values: `Default` \| `AllocationStrategy` \|
1301
+ # `ClosestToNextInstanceHour` \| `NewestInstance` \| `OldestInstance`
1302
+ # \| `OldestLaunchConfiguration` \| `OldestLaunchTemplate` \|
1303
+ # `arn:aws:lambda:region:account-id:function:my-function:my-alias`
1299
1304
  #
1300
1305
  #
1301
1306
  #
1302
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
1307
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
1303
1308
  # @return [Array<String>]
1304
1309
  #
1305
1310
  # @!attribute [rw] new_instances_protected_from_scale_in
@@ -1320,9 +1325,9 @@ module Aws::AutoScaling
1320
1325
  # Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot
1321
1326
  # Instance whenever Amazon EC2 notifies that a Spot Instance is at an
1322
1327
  # elevated risk of interruption. After launching a new instance, it
1323
- # then terminates an old instance. For more information, see [Amazon
1324
- # EC2 Auto Scaling Capacity Rebalancing][1] in the *Amazon EC2 Auto
1325
- # Scaling User Guide*.
1328
+ # then terminates an old instance. For more information, see [Use
1329
+ # Capacity Rebalancing to handle Amazon EC2 Spot Interruptions][1] in
1330
+ # the in the *Amazon EC2 Auto Scaling User Guide*.
1326
1331
  #
1327
1332
  #
1328
1333
  #
@@ -1330,9 +1335,8 @@ module Aws::AutoScaling
1330
1335
  # @return [Boolean]
1331
1336
  #
1332
1337
  # @!attribute [rw] lifecycle_hook_specification_list
1333
- # One or more lifecycle hooks for the group, which specify actions to
1334
- # perform when Amazon EC2 Auto Scaling launches or terminates
1335
- # instances.
1338
+ # One or more lifecycle hooks to add to the Auto Scaling group before
1339
+ # instances are launched.
1336
1340
  # @return [Array<Types::LifecycleHookSpecification>]
1337
1341
  #
1338
1342
  # @!attribute [rw] tags
@@ -1343,22 +1347,22 @@ module Aws::AutoScaling
1343
1347
  # template specifies an instance tag with a key that is also specified
1344
1348
  # for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the
1345
1349
  # value of that instance tag with the value specified by the Auto
1346
- # Scaling group. For more information, see [Tagging Auto Scaling
1347
- # groups and instances][1] in the *Amazon EC2 Auto Scaling User
1348
- # Guide*.
1350
+ # Scaling group. For more information, see [Tag Auto Scaling groups
1351
+ # and instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1349
1352
  #
1350
1353
  #
1351
1354
  #
1352
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
1355
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
1353
1356
  # @return [Array<Types::Tag>]
1354
1357
  #
1355
1358
  # @!attribute [rw] service_linked_role_arn
1356
1359
  # The Amazon Resource Name (ARN) of the service-linked role that the
1357
- # Auto Scaling group uses to call other Amazon Web Services on your
1358
- # behalf. By default, Amazon EC2 Auto Scaling uses a service-linked
1359
- # role named `AWSServiceRoleForAutoScaling`, which it creates if it
1360
- # does not exist. For more information, see [Service-linked roles][1]
1361
- # in the *Amazon EC2 Auto Scaling User Guide*.
1360
+ # Auto Scaling group uses to call other Amazon Web Services service on
1361
+ # your behalf. By default, Amazon EC2 Auto Scaling uses a
1362
+ # service-linked role named `AWSServiceRoleForAutoScaling`, which it
1363
+ # creates if it does not exist. For more information, see
1364
+ # [Service-linked roles][1] in the *Amazon EC2 Auto Scaling User
1365
+ # Guide*.
1362
1366
  #
1363
1367
  #
1364
1368
  #
@@ -1399,6 +1403,35 @@ module Aws::AutoScaling
1399
1403
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
1400
1404
  # @return [String]
1401
1405
  #
1406
+ # @!attribute [rw] default_instance_warmup
1407
+ # The amount of time, in seconds, until a newly launched instance can
1408
+ # contribute to the Amazon CloudWatch metrics. This delay lets an
1409
+ # instance finish initializing before Amazon EC2 Auto Scaling
1410
+ # aggregates instance metrics, resulting in more reliable usage data.
1411
+ # Set this value equal to the amount of time that it takes for
1412
+ # resource consumption to become stable after an instance reaches the
1413
+ # `InService` state. For more information, see [Set the default
1414
+ # instance warmup for an Auto Scaling group][1] in the *Amazon EC2
1415
+ # Auto Scaling User Guide*.
1416
+ #
1417
+ # To manage your warm-up settings at the group level, we recommend
1418
+ # that you set the default instance warmup, *even if its value is set
1419
+ # to 0 seconds*. This also optimizes the performance of scaling
1420
+ # policies that scale continuously, such as target tracking and step
1421
+ # scaling policies.
1422
+ #
1423
+ # If you need to remove a value that you previously set, include the
1424
+ # property but specify `-1` for the value. However, we strongly
1425
+ # recommend keeping the default instance warmup enabled by specifying
1426
+ # a minimum value of `0`.
1427
+ #
1428
+ # Default: None
1429
+ #
1430
+ #
1431
+ #
1432
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
1433
+ # @return [Integer]
1434
+ #
1402
1435
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroupType AWS API Documentation
1403
1436
  #
1404
1437
  class CreateAutoScalingGroupType < Struct.new(
@@ -1426,7 +1459,8 @@ module Aws::AutoScaling
1426
1459
  :service_linked_role_arn,
1427
1460
  :max_instance_lifetime,
1428
1461
  :context,
1429
- :desired_capacity_type)
1462
+ :desired_capacity_type,
1463
+ :default_instance_warmup)
1430
1464
  SENSITIVE = []
1431
1465
  include Aws::Structure
1432
1466
  end
@@ -1484,10 +1518,10 @@ module Aws::AutoScaling
1484
1518
  #
1485
1519
  # @!attribute [rw] image_id
1486
1520
  # The ID of the Amazon Machine Image (AMI) that was assigned during
1487
- # registration. For more information, see [Finding an AMI][1] in the
1488
- # *Amazon EC2 User Guide for Linux Instances*.
1521
+ # registration. For more information, see [Finding a Linux AMI][1] in
1522
+ # the *Amazon EC2 User Guide for Linux Instances*.
1489
1523
  #
1490
- # If you do not specify `InstanceId`, you must specify `ImageId`.
1524
+ # If you specify `InstanceId`, an `ImageId` is not required.
1491
1525
  #
1492
1526
  #
1493
1527
  #
@@ -1495,8 +1529,9 @@ module Aws::AutoScaling
1495
1529
  # @return [String]
1496
1530
  #
1497
1531
  # @!attribute [rw] key_name
1498
- # The name of the key pair. For more information, see [Amazon EC2 Key
1499
- # Pairs][1] in the *Amazon EC2 User Guide for Linux Instances*.
1532
+ # The name of the key pair. For more information, see [Amazon EC2 key
1533
+ # pairs and Linux instances][1] in the *Amazon EC2 User Guide for
1534
+ # Linux Instances*.
1500
1535
  #
1501
1536
  #
1502
1537
  #
@@ -1504,52 +1539,38 @@ module Aws::AutoScaling
1504
1539
  # @return [String]
1505
1540
  #
1506
1541
  # @!attribute [rw] security_groups
1507
- # A list that contains the security groups to assign to the instances
1508
- # in the Auto Scaling group.
1509
- #
1510
- # \[EC2-VPC\] Specify the security group IDs. For more information,
1511
- # see [Security Groups for Your VPC][1] in the *Amazon Virtual Private
1512
- # Cloud User Guide*.
1513
- #
1514
- # \[EC2-Classic\] Specify either the security group names or the
1515
- # security group IDs. For more information, see [Amazon EC2 Security
1516
- # Groups][2] in the *Amazon EC2 User Guide for Linux Instances*.
1542
+ # A list that contains the security group IDs to assign to the
1543
+ # instances in the Auto Scaling group. For more information, see
1544
+ # [Control traffic to resources using security groups][1] in the
1545
+ # *Amazon Virtual Private Cloud User Guide*.
1517
1546
  #
1518
1547
  #
1519
1548
  #
1520
1549
  # [1]: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
1521
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
1522
1550
  # @return [Array<String>]
1523
1551
  #
1524
1552
  # @!attribute [rw] classic_link_vpc_id
1553
+ # *EC2-Classic retires on August 15, 2022. This property is not
1554
+ # supported after that date.*
1555
+ #
1525
1556
  # The ID of a ClassicLink-enabled VPC to link your EC2-Classic
1526
1557
  # instances to. For more information, see [ClassicLink][1] in the
1527
- # *Amazon EC2 User Guide for Linux Instances* and [Linking EC2-Classic
1528
- # instances to a VPC][2] in the *Amazon EC2 Auto Scaling User Guide*.
1529
- #
1530
- # This parameter can only be used if you are launching EC2-Classic
1531
- # instances.
1558
+ # *Amazon EC2 User Guide for Linux Instances*.
1532
1559
  #
1533
1560
  #
1534
1561
  #
1535
1562
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1536
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1537
1563
  # @return [String]
1538
1564
  #
1539
1565
  # @!attribute [rw] classic_link_vpc_security_groups
1540
- # The IDs of one or more security groups for the specified
1541
- # ClassicLink-enabled VPC. For more information, see [ClassicLink][1]
1542
- # in the *Amazon EC2 User Guide for Linux Instances* and [Linking
1543
- # EC2-Classic instances to a VPC][2] in the *Amazon EC2 Auto Scaling
1544
- # User Guide*.
1545
- #
1546
- # If you specify the `ClassicLinkVPCId` parameter, you must specify
1547
- # this parameter.
1548
- #
1566
+ # *EC2-Classic retires on August 15, 2022. This property is not
1567
+ # supported after that date.*
1549
1568
  #
1569
+ # The IDs of one or more security groups for the specified
1570
+ # ClassicLink-enabled VPC.
1550
1571
  #
1551
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1552
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1572
+ # If you specify the `ClassicLinkVPCId` property, you must specify
1573
+ # `ClassicLinkVPCSecurityGroups`.
1553
1574
  # @return [Array<String>]
1554
1575
  #
1555
1576
  # @!attribute [rw] user_data
@@ -1578,22 +1599,17 @@ module Aws::AutoScaling
1578
1599
  # For more information, see [Creating a launch configuration using an
1579
1600
  # EC2 instance][1] in the *Amazon EC2 Auto Scaling User Guide*.
1580
1601
  #
1581
- # If you do not specify `InstanceId`, you must specify both `ImageId`
1582
- # and `InstanceType`.
1583
- #
1584
1602
  #
1585
1603
  #
1586
1604
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-lc-with-instanceID.html
1587
1605
  # @return [String]
1588
1606
  #
1589
1607
  # @!attribute [rw] instance_type
1590
- # Specifies the instance type of the EC2 instance.
1591
- #
1592
- # For information about available instance types, see [Available
1593
- # Instance Types][1] in the *Amazon EC2 User Guide for Linux
1594
- # Instances*.
1608
+ # Specifies the instance type of the EC2 instance. For information
1609
+ # about available instance types, see [Available instance types][1] in
1610
+ # the *Amazon EC2 User Guide for Linux Instances*.
1595
1611
  #
1596
- # If you do not specify `InstanceId`, you must specify `InstanceType`.
1612
+ # If you specify `InstanceId`, an `InstanceType` is not required.
1597
1613
  #
1598
1614
  #
1599
1615
  #
@@ -1602,16 +1618,37 @@ module Aws::AutoScaling
1602
1618
  #
1603
1619
  # @!attribute [rw] kernel_id
1604
1620
  # The ID of the kernel associated with the AMI.
1621
+ #
1622
+ # <note markdown="1"> We recommend that you use PV-GRUB instead of kernels and RAM disks.
1623
+ # For more information, see [User provided kernels][1] in the *Amazon
1624
+ # EC2 User Guide for Linux Instances*.
1625
+ #
1626
+ # </note>
1627
+ #
1628
+ #
1629
+ #
1630
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1605
1631
  # @return [String]
1606
1632
  #
1607
1633
  # @!attribute [rw] ramdisk_id
1608
1634
  # The ID of the RAM disk to select.
1635
+ #
1636
+ # <note markdown="1"> We recommend that you use PV-GRUB instead of kernels and RAM disks.
1637
+ # For more information, see [User provided kernels][1] in the *Amazon
1638
+ # EC2 User Guide for Linux Instances*.
1639
+ #
1640
+ # </note>
1641
+ #
1642
+ #
1643
+ #
1644
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1609
1645
  # @return [String]
1610
1646
  #
1611
1647
  # @!attribute [rw] block_device_mappings
1612
- # A block device mapping, which specifies the block devices for the
1613
- # instance. You can specify virtual devices and EBS volumes. For more
1614
- # information, see [Block Device Mapping][1] in the *Amazon EC2 User
1648
+ # The block device mapping entries that define the block devices to
1649
+ # attach to the instances at launch. By default, the block devices
1650
+ # specified in the block device mapping for the AMI are used. For more
1651
+ # information, see [Block device mappings][1] in the *Amazon EC2 User
1615
1652
  # Guide for Linux Instances*.
1616
1653
  #
1617
1654
  #
@@ -1640,8 +1677,10 @@ module Aws::AutoScaling
1640
1677
  # The maximum hourly price to be paid for any Spot Instance launched
1641
1678
  # to fulfill the request. Spot Instances are launched when the price
1642
1679
  # you specify exceeds the current Spot price. For more information,
1643
- # see [Requesting Spot Instances][1] in the *Amazon EC2 Auto Scaling
1644
- # User Guide*.
1680
+ # see [Request Spot Instances for fault-tolerant and flexible
1681
+ # applications][1] in the *Amazon EC2 Auto Scaling User Guide*.
1682
+ #
1683
+ # Valid Range: Minimum value of 0.001
1645
1684
  #
1646
1685
  # <note markdown="1"> When you change your maximum price by creating a new launch
1647
1686
  # configuration, running instances will continue to run as long as the
@@ -1652,17 +1691,15 @@ module Aws::AutoScaling
1652
1691
  #
1653
1692
  #
1654
1693
  #
1655
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html
1694
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-template-spot-instances.html
1656
1695
  # @return [String]
1657
1696
  #
1658
1697
  # @!attribute [rw] iam_instance_profile
1659
1698
  # The name or the Amazon Resource Name (ARN) of the instance profile
1660
1699
  # associated with the IAM role for the instance. The instance profile
1661
- # contains the IAM role.
1662
- #
1663
- # For more information, see [IAM role for applications that run on
1664
- # Amazon EC2 instances][1] in the *Amazon EC2 Auto Scaling User
1665
- # Guide*.
1700
+ # contains the IAM role. For more information, see [IAM role for
1701
+ # applications that run on Amazon EC2 instances][1] in the *Amazon EC2
1702
+ # Auto Scaling User Guide*.
1666
1703
  #
1667
1704
  #
1668
1705
  #
@@ -1688,46 +1725,41 @@ module Aws::AutoScaling
1688
1725
  # @return [Boolean]
1689
1726
  #
1690
1727
  # @!attribute [rw] associate_public_ip_address
1691
- # For Auto Scaling groups that are running in a virtual private cloud
1692
- # (VPC), specifies whether to assign a public IP address to the
1693
- # group's instances. If you specify `true`, each instance in the Auto
1694
- # Scaling group receives a unique public IP address. For more
1695
- # information, see [Launching Auto Scaling instances in a VPC][1] in
1696
- # the *Amazon EC2 Auto Scaling User Guide*.
1728
+ # Specifies whether to assign a public IPv4 address to the group's
1729
+ # instances. If the instance is launched into a default subnet, the
1730
+ # default is to assign a public IPv4 address, unless you disabled the
1731
+ # option to assign a public IPv4 address on the subnet. If the
1732
+ # instance is launched into a nondefault subnet, the default is not to
1733
+ # assign a public IPv4 address, unless you enabled the option to
1734
+ # assign a public IPv4 address on the subnet.
1735
+ #
1736
+ # If you specify `true`, each instance in the Auto Scaling group
1737
+ # receives a unique public IPv4 address. For more information, see
1738
+ # [Launching Auto Scaling instances in a VPC][1] in the *Amazon EC2
1739
+ # Auto Scaling User Guide*.
1697
1740
  #
1698
- # If you specify this parameter, you must specify at least one subnet
1741
+ # If you specify this property, you must specify at least one subnet
1699
1742
  # for `VPCZoneIdentifier` when you create your group.
1700
1743
  #
1701
- # <note markdown="1"> If the instance is launched into a default subnet, the default is to
1702
- # assign a public IP address, unless you disabled the option to assign
1703
- # a public IP address on the subnet. If the instance is launched into
1704
- # a nondefault subnet, the default is not to assign a public IP
1705
- # address, unless you enabled the option to assign a public IP address
1706
- # on the subnet.
1707
- #
1708
- # </note>
1709
- #
1710
1744
  #
1711
1745
  #
1712
1746
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html
1713
1747
  # @return [Boolean]
1714
1748
  #
1715
1749
  # @!attribute [rw] placement_tenancy
1716
- # The tenancy of the instance. An instance with `dedicated` tenancy
1717
- # runs on isolated, single-tenant hardware and can only be launched
1718
- # into a VPC.
1719
- #
1720
- # To launch dedicated instances into a shared tenancy VPC (a VPC with
1721
- # the instance placement tenancy attribute set to `default`), you must
1722
- # set the value of this parameter to `dedicated`.
1750
+ # The tenancy of the instance, either `default` or `dedicated`. An
1751
+ # instance with `dedicated` tenancy runs on isolated, single-tenant
1752
+ # hardware and can only be launched into a VPC. To launch dedicated
1753
+ # instances into a shared tenancy VPC (a VPC with the instance
1754
+ # placement tenancy attribute set to `default`), you must set the
1755
+ # value of this property to `dedicated`. For more information, see
1756
+ # [Configuring instance tenancy with Amazon EC2 Auto Scaling][1] in
1757
+ # the *Amazon EC2 Auto Scaling User Guide*.
1723
1758
  #
1724
1759
  # If you specify `PlacementTenancy`, you must specify at least one
1725
1760
  # subnet for `VPCZoneIdentifier` when you create your group.
1726
1761
  #
1727
- # For more information, see [Configuring instance tenancy with Amazon
1728
- # EC2 Auto Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
1729
- #
1730
- # Valid Values: `default` \| `dedicated`
1762
+ # Valid values: `default` \| `dedicated`
1731
1763
  #
1732
1764
  #
1733
1765
  #
@@ -1802,7 +1834,7 @@ module Aws::AutoScaling
1802
1834
  #
1803
1835
  # To create your customized metric specification:
1804
1836
  #
1805
- # * Add values for each required parameter from CloudWatch. You can use
1837
+ # * Add values for each required property from CloudWatch. You can use
1806
1838
  # an existing metric, or a new metric that you create. To use your own
1807
1839
  # metric, you must first publish the metric to CloudWatch. For more
1808
1840
  # information, see [Publish custom metrics][1] in the *Amazon
@@ -1908,7 +1940,7 @@ module Aws::AutoScaling
1908
1940
  # @!attribute [rw] force_delete
1909
1941
  # Specifies that the group is to be deleted along with all instances
1910
1942
  # associated with the group, without waiting for all instances to be
1911
- # terminated. This parameter also deletes any outstanding lifecycle
1943
+ # terminated. This action also deletes any outstanding lifecycle
1912
1944
  # actions associated with the group.
1913
1945
  # @return [Boolean]
1914
1946
  #
@@ -2135,7 +2167,7 @@ module Aws::AutoScaling
2135
2167
  # }
2136
2168
  #
2137
2169
  # @!attribute [rw] instance_ids
2138
- # The IDs of the instances. If you omit this parameter, all Auto
2170
+ # The IDs of the instances. If you omit this property, all Auto
2139
2171
  # Scaling instances are described. If you specify an ID that does not
2140
2172
  # exist, it is ignored with no error.
2141
2173
  #
@@ -2175,7 +2207,8 @@ module Aws::AutoScaling
2175
2207
  end
2176
2208
 
2177
2209
  # @!attribute [rw] instance_refreshes
2178
- # The instance refreshes for the specified group.
2210
+ # The instance refreshes for the specified group, sorted by creation
2211
+ # timestamp in descending order.
2179
2212
  # @return [Array<Types::InstanceRefresh>]
2180
2213
  #
2181
2214
  # @!attribute [rw] next_token
@@ -2271,8 +2304,8 @@ module Aws::AutoScaling
2271
2304
  # @return [String]
2272
2305
  #
2273
2306
  # @!attribute [rw] lifecycle_hook_names
2274
- # The names of one or more lifecycle hooks. If you omit this
2275
- # parameter, all lifecycle hooks are described.
2307
+ # The names of one or more lifecycle hooks. If you omit this property,
2308
+ # all lifecycle hooks are described.
2276
2309
  # @return [Array<String>]
2277
2310
  #
2278
2311
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHooksType AWS API Documentation
@@ -2393,7 +2426,7 @@ module Aws::AutoScaling
2393
2426
  end
2394
2427
 
2395
2428
  # @!attribute [rw] metrics
2396
- # One or more metrics.
2429
+ # The metrics.
2397
2430
  # @return [Array<Types::MetricCollectionType>]
2398
2431
  #
2399
2432
  # @!attribute [rw] granularities
@@ -2479,7 +2512,7 @@ module Aws::AutoScaling
2479
2512
  # @return [String]
2480
2513
  #
2481
2514
  # @!attribute [rw] policy_names
2482
- # The names of one or more policies. If you omit this parameter, all
2515
+ # The names of one or more policies. If you omit this property, all
2483
2516
  # policies are described. If a group name is provided, the results are
2484
2517
  # limited to that group. If you specify an unknown policy name, it is
2485
2518
  # ignored with no error.
@@ -2527,7 +2560,7 @@ module Aws::AutoScaling
2527
2560
  #
2528
2561
  # @!attribute [rw] activity_ids
2529
2562
  # The activity IDs of the desired scaling activities. If you omit this
2530
- # parameter, all activities for the past six weeks are described. If
2563
+ # property, all activities for the past six weeks are described. If
2531
2564
  # unknown activities are requested, they are ignored with no error. If
2532
2565
  # you specify an Auto Scaling group, the results are limited to that
2533
2566
  # group.
@@ -2584,7 +2617,7 @@ module Aws::AutoScaling
2584
2617
  #
2585
2618
  # @!attribute [rw] scheduled_action_names
2586
2619
  # The names of one or more scheduled actions. If you omit this
2587
- # parameter, all scheduled actions are described. If you specify an
2620
+ # property, all scheduled actions are described. If you specify an
2588
2621
  # unknown scheduled action, it is ignored with no error.
2589
2622
  #
2590
2623
  # Array Members: Maximum number of 50 actions.
@@ -2592,12 +2625,12 @@ module Aws::AutoScaling
2592
2625
  #
2593
2626
  # @!attribute [rw] start_time
2594
2627
  # The earliest scheduled start time to return. If scheduled action
2595
- # names are provided, this parameter is ignored.
2628
+ # names are provided, this property is ignored.
2596
2629
  # @return [Time]
2597
2630
  #
2598
2631
  # @!attribute [rw] end_time
2599
2632
  # The latest scheduled start time to return. If scheduled action names
2600
- # are provided, this parameter is ignored.
2633
+ # are provided, this property is ignored.
2601
2634
  # @return [Time]
2602
2635
  #
2603
2636
  # @!attribute [rw] next_token
@@ -2976,7 +3009,9 @@ module Aws::AutoScaling
2976
3009
  # @return [String]
2977
3010
  #
2978
3011
  # @!attribute [rw] metrics
2979
- # Specifies one or more of the following metrics:
3012
+ # Identifies the metrics to disable.
3013
+ #
3014
+ # You can specify one or more of the following metrics:
2980
3015
  #
2981
3016
  # * `GroupMinSize`
2982
3017
  #
@@ -3018,7 +3053,14 @@ module Aws::AutoScaling
3018
3053
  #
3019
3054
  # * `GroupAndWarmPoolTotalCapacity`
3020
3055
  #
3021
- # If you omit this parameter, all metrics are disabled.
3056
+ # If you omit this property, all metrics are disabled.
3057
+ #
3058
+ # For more information, see [Auto Scaling group metrics][1] in the
3059
+ # *Amazon EC2 Auto Scaling User Guide*.
3060
+ #
3061
+ #
3062
+ #
3063
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics
3022
3064
  # @return [Array<String>]
3023
3065
  #
3024
3066
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DisableMetricsCollectionQuery AWS API Documentation
@@ -3073,7 +3115,7 @@ module Aws::AutoScaling
3073
3115
  # The volume type. For more information, see [Amazon EBS volume
3074
3116
  # types][1] in the *Amazon EC2 User Guide for Linux Instances*.
3075
3117
  #
3076
- # Valid Values: `standard` \| `io1` \| `gp2` \| `st1` \| `sc1` \|
3118
+ # Valid values: `standard` \| `io1` \| `gp2` \| `st1` \| `sc1` \|
3077
3119
  # `gp3`
3078
3120
  #
3079
3121
  #
@@ -3129,7 +3171,7 @@ module Aws::AutoScaling
3129
3171
  # KMS key or a customer-managed KMS key, regardless of whether the
3130
3172
  # snapshot was encrypted.
3131
3173
  #
3132
- # For more information, see [Using Amazon Web Services KMS keys to
3174
+ # For more information, see [Use Amazon Web Services KMS keys to
3133
3175
  # encrypt Amazon EBS volumes][2] in the *Amazon EC2 Auto Scaling User
3134
3176
  # Guide*.
3135
3177
  #
@@ -3173,8 +3215,9 @@ module Aws::AutoScaling
3173
3215
  # @return [String]
3174
3216
  #
3175
3217
  # @!attribute [rw] metrics
3176
- # Specifies which group-level metrics to start collecting. You can
3177
- # specify one or more of the following metrics:
3218
+ # Identifies the metrics to enable.
3219
+ #
3220
+ # You can specify one or more of the following metrics:
3178
3221
  #
3179
3222
  # * `GroupMinSize`
3180
3223
  #
@@ -3192,9 +3235,6 @@ module Aws::AutoScaling
3192
3235
  #
3193
3236
  # * `GroupTotalInstances`
3194
3237
  #
3195
- # The instance weighting feature supports the following additional
3196
- # metrics:
3197
- #
3198
3238
  # * `GroupInServiceCapacity`
3199
3239
  #
3200
3240
  # * `GroupPendingCapacity`
@@ -3205,8 +3245,6 @@ module Aws::AutoScaling
3205
3245
  #
3206
3246
  # * `GroupTotalCapacity`
3207
3247
  #
3208
- # The warm pools feature supports the following additional metrics:
3209
- #
3210
3248
  # * `WarmPoolDesiredCapacity`
3211
3249
  #
3212
3250
  # * `WarmPoolWarmedCapacity`
@@ -3221,12 +3259,20 @@ module Aws::AutoScaling
3221
3259
  #
3222
3260
  # * `GroupAndWarmPoolTotalCapacity`
3223
3261
  #
3224
- # If you omit this parameter, all metrics are enabled.
3262
+ # If you specify `Granularity` and don't specify any metrics, all
3263
+ # metrics are enabled.
3264
+ #
3265
+ # For more information, see [Auto Scaling group metrics][1] in the
3266
+ # *Amazon EC2 Auto Scaling User Guide*.
3267
+ #
3268
+ #
3269
+ #
3270
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics
3225
3271
  # @return [Array<String>]
3226
3272
  #
3227
3273
  # @!attribute [rw] granularity
3228
- # The granularity to associate with the metrics to collect. The only
3229
- # valid value is `1Minute`.
3274
+ # The frequency at which Amazon EC2 Auto Scaling sends aggregated data
3275
+ # to CloudWatch. The only valid value is `1Minute`.
3230
3276
  # @return [String]
3231
3277
  #
3232
3278
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnableMetricsCollectionQuery AWS API Documentation
@@ -3239,7 +3285,7 @@ module Aws::AutoScaling
3239
3285
  include Aws::Structure
3240
3286
  end
3241
3287
 
3242
- # Describes an enabled metric.
3288
+ # Describes an enabled Auto Scaling group metric.
3243
3289
  #
3244
3290
  # @!attribute [rw] metric
3245
3291
  # One of the following metrics:
@@ -3283,6 +3329,13 @@ module Aws::AutoScaling
3283
3329
  # * `GroupAndWarmPoolDesiredCapacity`
3284
3330
  #
3285
3331
  # * `GroupAndWarmPoolTotalCapacity`
3332
+ #
3333
+ # For more information, see [Auto Scaling group metrics][1] in the
3334
+ # *Amazon EC2 Auto Scaling User Guide*.
3335
+ #
3336
+ #
3337
+ #
3338
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics
3286
3339
  # @return [String]
3287
3340
  #
3288
3341
  # @!attribute [rw] granularity
@@ -3476,12 +3529,12 @@ module Aws::AutoScaling
3476
3529
  # logically joined with an `AND`, and the request returns only the
3477
3530
  # results that match all of the specified filters.
3478
3531
  #
3479
- # For more information, see [Tagging Auto Scaling groups and
3480
- # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
3532
+ # For more information, see [Tag Auto Scaling groups and instances][1]
3533
+ # in the *Amazon EC2 Auto Scaling User Guide*.
3481
3534
  #
3482
3535
  #
3483
3536
  #
3484
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
3537
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
3485
3538
  #
3486
3539
  # @note When making an API call, you may pass Filter
3487
3540
  # data as a hash:
@@ -4090,13 +4143,17 @@ module Aws::AutoScaling
4090
4143
  # @!attribute [rw] spot_max_price_percentage_over_lowest_price
4091
4144
  # The price protection threshold for Spot Instances. This is the
4092
4145
  # maximum you’ll pay for a Spot Instance, expressed as a percentage
4093
- # higher than the cheapest M, C, or R instance type with your
4094
- # specified attributes. When Amazon EC2 Auto Scaling selects instance
4095
- # types with your attributes, we will exclude instance types whose
4096
- # price is higher than your threshold. The parameter accepts an
4097
- # integer, which Amazon EC2 Auto Scaling interprets as a percentage.
4098
- # To turn off price protection, specify a high value, such as
4099
- # `999999`.
4146
+ # higher than the least expensive current generation M, C, or R
4147
+ # instance type with your specified attributes. When Amazon EC2 Auto
4148
+ # Scaling selects instance types with your attributes, we will exclude
4149
+ # instance types whose price is higher than your threshold. The
4150
+ # parameter accepts an integer, which Amazon EC2 Auto Scaling
4151
+ # interprets as a percentage. To turn off price protection, specify a
4152
+ # high value, such as `999999`.
4153
+ #
4154
+ # If you set `DesiredCapacityType` to `vcpu` or `memory-mib`, the
4155
+ # price protection threshold is applied based on the per vCPU or per
4156
+ # memory price instead of the per instance price.
4100
4157
  #
4101
4158
  # Default: `100`
4102
4159
  # @return [Integer]
@@ -4104,13 +4161,17 @@ module Aws::AutoScaling
4104
4161
  # @!attribute [rw] on_demand_max_price_percentage_over_lowest_price
4105
4162
  # The price protection threshold for On-Demand Instances. This is the
4106
4163
  # maximum you’ll pay for an On-Demand Instance, expressed as a
4107
- # percentage higher than the cheapest M, C, or R instance type with
4108
- # your specified attributes. When Amazon EC2 Auto Scaling selects
4109
- # instance types with your attributes, we will exclude instance types
4110
- # whose price is higher than your threshold. The parameter accepts an
4111
- # integer, which Amazon EC2 Auto Scaling interprets as a percentage.
4112
- # To turn off price protection, specify a high value, such as
4113
- # `999999`.
4164
+ # percentage higher than the least expensive current generation M, C,
4165
+ # or R instance type with your specified attributes. When Amazon EC2
4166
+ # Auto Scaling selects instance types with your attributes, we will
4167
+ # exclude instance types whose price is higher than your threshold.
4168
+ # The parameter accepts an integer, which Amazon EC2 Auto Scaling
4169
+ # interprets as a percentage. To turn off price protection, specify a
4170
+ # high value, such as `999999`.
4171
+ #
4172
+ # If you set `DesiredCapacityType` to `vcpu` or `memory-mib`, the
4173
+ # price protection threshold is applied based on the per vCPU or per
4174
+ # memory price instead of the per instance price.
4114
4175
  #
4115
4176
  # Default: `20`
4116
4177
  # @return [Integer]
@@ -4169,7 +4230,7 @@ module Aws::AutoScaling
4169
4230
  # `hdd`.
4170
4231
  #
4171
4232
  # * For instance types with solid state drive (SSD) storage, specify
4172
- # `sdd`.
4233
+ # `ssd`.
4173
4234
  #
4174
4235
  # Default: Any local storage type
4175
4236
  # @return [Array<String>]
@@ -4288,6 +4349,35 @@ module Aws::AutoScaling
4288
4349
  include Aws::Structure
4289
4350
  end
4290
4351
 
4352
+ # Describes an instance reuse policy for a warm pool.
4353
+ #
4354
+ # For more information, see [Warm pools for Amazon EC2 Auto Scaling][1]
4355
+ # in the *Amazon EC2 Auto Scaling User Guide*.
4356
+ #
4357
+ #
4358
+ #
4359
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html
4360
+ #
4361
+ # @note When making an API call, you may pass InstanceReusePolicy
4362
+ # data as a hash:
4363
+ #
4364
+ # {
4365
+ # reuse_on_scale_in: false,
4366
+ # }
4367
+ #
4368
+ # @!attribute [rw] reuse_on_scale_in
4369
+ # Specifies whether instances in the Auto Scaling group can be
4370
+ # returned to the warm pool on scale in.
4371
+ # @return [Boolean]
4372
+ #
4373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceReusePolicy AWS API Documentation
4374
+ #
4375
+ class InstanceReusePolicy < Struct.new(
4376
+ :reuse_on_scale_in)
4377
+ SENSITIVE = []
4378
+ include Aws::Structure
4379
+ end
4380
+
4291
4381
  # Describes an instances distribution for an Auto Scaling group.
4292
4382
  #
4293
4383
  # @note When making an API call, you may pass InstancesDistribution
@@ -4319,6 +4409,8 @@ module Aws::AutoScaling
4319
4409
  # Default: `lowest-price` for Auto Scaling groups that specify
4320
4410
  # InstanceRequirements in the overrides and `prioritized` for Auto
4321
4411
  # Scaling groups that don't.
4412
+ #
4413
+ # Valid values: `lowest-price` \| `prioritized`
4322
4414
  # @return [String]
4323
4415
  #
4324
4416
  # @!attribute [rw] on_demand_base_capacity
@@ -4363,6 +4455,9 @@ module Aws::AutoScaling
4363
4455
  # best-effort basis but optimizes for capacity first.
4364
4456
  #
4365
4457
  # Default: `lowest-price`
4458
+ #
4459
+ # Valid values: `lowest-price` \| `capacity-optimized` \|
4460
+ # `capacity-optimized-prioritized`
4366
4461
  # @return [String]
4367
4462
  #
4368
4463
  # @!attribute [rw] spot_instance_pools
@@ -4380,6 +4475,11 @@ module Aws::AutoScaling
4380
4475
  # Amazon EC2 Auto Scaling uses the On-Demand price as the maximum Spot
4381
4476
  # price. To remove a value that you previously set, include the
4382
4477
  # property but specify an empty string ("") for the value.
4478
+ #
4479
+ # If your maximum price is lower than the Spot price for the instance
4480
+ # types that you selected, your Spot Instances are not launched.
4481
+ #
4482
+ # Valid Range: Minimum value of 0.001
4383
4483
  # @return [String]
4384
4484
  #
4385
4485
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstancesDistribution AWS API Documentation
@@ -4420,7 +4520,7 @@ module Aws::AutoScaling
4420
4520
  #
4421
4521
  # @!attribute [rw] image_id
4422
4522
  # The ID of the Amazon Machine Image (AMI) to use to launch your EC2
4423
- # instances. For more information, see [Finding an AMI][1] in the
4523
+ # instances. For more information, see [Find a Linux AMI][1] in the
4424
4524
  # *Amazon EC2 User Guide for Linux Instances*.
4425
4525
  #
4426
4526
  #
@@ -4451,29 +4551,19 @@ module Aws::AutoScaling
4451
4551
  # @return [Array<String>]
4452
4552
  #
4453
4553
  # @!attribute [rw] classic_link_vpc_id
4454
- # The ID of a ClassicLink-enabled VPC to link your EC2-Classic
4455
- # instances to. For more information, see [ClassicLink][1] in the
4456
- # *Amazon EC2 User Guide for Linux Instances* and [Linking EC2-Classic
4457
- # instances to a VPC][2] in the *Amazon EC2 Auto Scaling User Guide*.
4554
+ # *EC2-Classic retires on August 15, 2022. This property is not
4555
+ # supported after that date.*
4458
4556
  #
4459
- #
4460
- #
4461
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
4462
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
4557
+ # The ID of a ClassicLink-enabled VPC to link your EC2-Classic
4558
+ # instances to.
4463
4559
  # @return [String]
4464
4560
  #
4465
4561
  # @!attribute [rw] classic_link_vpc_security_groups
4562
+ # *EC2-Classic retires on August 15, 2022. This property is not
4563
+ # supported after that date.*
4564
+ #
4466
4565
  # The IDs of one or more security groups for the VPC specified in
4467
4566
  # `ClassicLinkVPCId`.
4468
- #
4469
- # For more information, see [ClassicLink][1] in the *Amazon EC2 User
4470
- # Guide for Linux Instances* and [Linking EC2-Classic instances to a
4471
- # VPC][2] in the *Amazon EC2 Auto Scaling User Guide*.
4472
- #
4473
- #
4474
- #
4475
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
4476
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
4477
4567
  # @return [Array<String>]
4478
4568
  #
4479
4569
  # @!attribute [rw] user_data
@@ -4491,11 +4581,9 @@ module Aws::AutoScaling
4491
4581
  # @return [String]
4492
4582
  #
4493
4583
  # @!attribute [rw] instance_type
4494
- # The instance type for the instances.
4495
- #
4496
- # For information about available instance types, see [Available
4497
- # Instance Types][1] in the *Amazon EC2 User Guide for Linux
4498
- # Instances*.
4584
+ # The instance type for the instances. For information about available
4585
+ # instance types, see [Available instance types][1] in the *Amazon EC2
4586
+ # User Guide for Linux Instances*.
4499
4587
  #
4500
4588
  #
4501
4589
  #
@@ -4511,9 +4599,11 @@ module Aws::AutoScaling
4511
4599
  # @return [String]
4512
4600
  #
4513
4601
  # @!attribute [rw] block_device_mappings
4514
- # A block device mapping, which specifies the block devices for the
4515
- # instance. For more information, see [Block Device Mapping][1] in the
4516
- # *Amazon EC2 User Guide for Linux Instances*.
4602
+ # The block device mapping entries that define the block devices to
4603
+ # attach to the instances at launch. By default, the block devices
4604
+ # specified in the block device mapping for the AMI are used. For more
4605
+ # information, see [Block Device Mapping][1] in the *Amazon EC2 User
4606
+ # Guide for Linux Instances*.
4517
4607
  #
4518
4608
  #
4519
4609
  #
@@ -4572,10 +4662,15 @@ module Aws::AutoScaling
4572
4662
  # @return [Boolean]
4573
4663
  #
4574
4664
  # @!attribute [rw] associate_public_ip_address
4575
- # For Auto Scaling groups that are running in a VPC, specifies whether
4576
- # to assign a public IP address to the group's instances. For more
4577
- # information, see [Launching Auto Scaling instances in a VPC][1] in
4578
- # the *Amazon EC2 Auto Scaling User Guide*.
4665
+ # Specifies whether to assign a public IPv4 address to the group's
4666
+ # instances. If the instance is launched into a default subnet, the
4667
+ # default is to assign a public IPv4 address, unless you disabled the
4668
+ # option to assign a public IPv4 address on the subnet. If the
4669
+ # instance is launched into a nondefault subnet, the default is not to
4670
+ # assign a public IPv4 address, unless you enabled the option to
4671
+ # assign a public IPv4 address on the subnet. For more information,
4672
+ # see [Launching Auto Scaling instances in a VPC][1] in the *Amazon
4673
+ # EC2 Auto Scaling User Guide*.
4579
4674
  #
4580
4675
  #
4581
4676
  #
@@ -4661,7 +4756,7 @@ module Aws::AutoScaling
4661
4756
  # }
4662
4757
  #
4663
4758
  # @!attribute [rw] launch_configuration_names
4664
- # The launch configuration names. If you omit this parameter, all
4759
+ # The launch configuration names. If you omit this property, all
4665
4760
  # launch configurations are described.
4666
4761
  #
4667
4762
  # Array Members: Maximum number of 50 items.
@@ -4893,23 +4988,23 @@ module Aws::AutoScaling
4893
4988
  # remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only
4894
4989
  # launch an instance with a `WeightedCapacity` of five units, the
4895
4990
  # instance is launched, and the desired capacity is exceeded by three
4896
- # units. For more information, see [Instance weighting for Amazon EC2
4897
- # Auto Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*. Value
4898
- # must be in the range of 1–999.
4991
+ # units. For more information, see [Configuring instance weighting for
4992
+ # Amazon EC2 Auto Scaling][1] in the *Amazon EC2 Auto Scaling User
4993
+ # Guide*. Value must be in the range of 1–999.
4899
4994
  #
4900
4995
  #
4901
4996
  #
4902
- # [1]: https://docs.aws.amazon.com/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html
4997
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html
4903
4998
  # @return [String]
4904
4999
  #
4905
5000
  # @!attribute [rw] launch_template_specification
4906
- # Provides the launch template to be used when launching the instance
4907
- # type specified in `InstanceType`. For example, some instance types
4908
- # might require a launch template with a different AMI. If not
4909
- # provided, Amazon EC2 Auto Scaling uses the launch template that's
4910
- # defined for your mixed instances policy. For more information, see
4911
- # [Specifying a different launch template for an instance type][1] in
4912
- # the *Amazon EC2 Auto Scaling User Guide*.
5001
+ # Provides a launch template for the specified instance type or
5002
+ # instance requirements. For example, some instance types might
5003
+ # require a launch template with a different AMI. If not provided,
5004
+ # Amazon EC2 Auto Scaling uses the launch template that's defined for
5005
+ # your mixed instances policy. For more information, see [Specifying a
5006
+ # different launch template for an instance type][1] in the *Amazon
5007
+ # EC2 Auto Scaling User Guide*.
4913
5008
  #
4914
5009
  #
4915
5010
  #
@@ -5010,9 +5105,10 @@ module Aws::AutoScaling
5010
5105
  include Aws::Structure
5011
5106
  end
5012
5107
 
5013
- # Describes a lifecycle hook, which enables an Auto Scaling group to be
5014
- # aware of events in the Auto Scaling instance lifecycle, and then
5015
- # perform a custom action when the corresponding lifecycle event occurs.
5108
+ # Describes a lifecycle hook. A lifecycle hook lets you create solutions
5109
+ # that are aware of events in the Auto Scaling instance lifecycle, and
5110
+ # then perform a custom action on instances when the corresponding
5111
+ # lifecycle event occurs.
5016
5112
  #
5017
5113
  # @!attribute [rw] lifecycle_hook_name
5018
5114
  # The name of the lifecycle hook.
@@ -5023,24 +5119,22 @@ module Aws::AutoScaling
5023
5119
  # @return [String]
5024
5120
  #
5025
5121
  # @!attribute [rw] lifecycle_transition
5026
- # The state of the EC2 instance to which to attach the lifecycle hook.
5027
- # The following are possible values:
5122
+ # The lifecycle transition.
5028
5123
  #
5029
- # * autoscaling:EC2\_INSTANCE\_LAUNCHING
5030
- #
5031
- # * autoscaling:EC2\_INSTANCE\_TERMINATING
5124
+ # Valid values: `autoscaling:EC2_INSTANCE_LAUNCHING` \|
5125
+ # `autoscaling:EC2_INSTANCE_TERMINATING`
5032
5126
  # @return [String]
5033
5127
  #
5034
5128
  # @!attribute [rw] notification_target_arn
5035
5129
  # The ARN of the target that Amazon EC2 Auto Scaling sends
5036
- # notifications to when an instance is in the transition state for the
5037
- # lifecycle hook. The notification target can be either an SQS queue
5038
- # or an SNS topic.
5130
+ # notifications to when an instance is in a wait state for the
5131
+ # lifecycle hook.
5039
5132
  # @return [String]
5040
5133
  #
5041
5134
  # @!attribute [rw] role_arn
5042
5135
  # The ARN of the IAM role that allows the Auto Scaling group to
5043
- # publish to the specified notification target.
5136
+ # publish to the specified notification target (an Amazon SNS topic or
5137
+ # an Amazon SQS queue).
5044
5138
  # @return [String]
5045
5139
  #
5046
5140
  # @!attribute [rw] notification_metadata
@@ -5052,20 +5146,20 @@ module Aws::AutoScaling
5052
5146
  # The maximum time, in seconds, that can elapse before the lifecycle
5053
5147
  # hook times out. If the lifecycle hook times out, Amazon EC2 Auto
5054
5148
  # Scaling performs the action that you specified in the
5055
- # `DefaultResult` parameter.
5149
+ # `DefaultResult` property.
5056
5150
  # @return [Integer]
5057
5151
  #
5058
5152
  # @!attribute [rw] global_timeout
5059
- # The maximum time, in seconds, that an instance can remain in a
5060
- # `Pending:Wait` or `Terminating:Wait` state. The maximum is 172800
5061
- # seconds (48 hours) or 100 times `HeartbeatTimeout`, whichever is
5062
- # smaller.
5153
+ # The maximum time, in seconds, that an instance can remain in a wait
5154
+ # state. The maximum is 172800 seconds (48 hours) or 100 times
5155
+ # `HeartbeatTimeout`, whichever is smaller.
5063
5156
  # @return [Integer]
5064
5157
  #
5065
5158
  # @!attribute [rw] default_result
5066
- # Defines the action the Auto Scaling group should take when the
5067
- # lifecycle hook timeout elapses or if an unexpected failure occurs.
5068
- # The possible values are `CONTINUE` and `ABANDON`.
5159
+ # The action the Auto Scaling group takes when the lifecycle hook
5160
+ # timeout elapses or if an unexpected failure occurs.
5161
+ #
5162
+ # Valid values: `CONTINUE` \| `ABANDON`
5069
5163
  # @return [String]
5070
5164
  #
5071
5165
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LifecycleHook AWS API Documentation
@@ -5112,12 +5206,14 @@ module Aws::AutoScaling
5112
5206
  # @return [String]
5113
5207
  #
5114
5208
  # @!attribute [rw] lifecycle_transition
5115
- # The state of the EC2 instance to which you want to attach the
5116
- # lifecycle hook. The valid values are:
5209
+ # The lifecycle transition. For Auto Scaling groups, there are two
5210
+ # major lifecycle transitions.
5117
5211
  #
5118
- # * autoscaling:EC2\_INSTANCE\_LAUNCHING
5212
+ # * To create a lifecycle hook for scale-out events, specify
5213
+ # `autoscaling:EC2_INSTANCE_LAUNCHING`.
5119
5214
  #
5120
- # * autoscaling:EC2\_INSTANCE\_TERMINATING
5215
+ # * To create a lifecycle hook for scale-in events, specify
5216
+ # `autoscaling:EC2_INSTANCE_TERMINATING`.
5121
5217
  # @return [String]
5122
5218
  #
5123
5219
  # @!attribute [rw] notification_metadata
@@ -5127,32 +5223,37 @@ module Aws::AutoScaling
5127
5223
  #
5128
5224
  # @!attribute [rw] heartbeat_timeout
5129
5225
  # The maximum time, in seconds, that can elapse before the lifecycle
5130
- # hook times out.
5131
- #
5132
- # If the lifecycle hook times out, Amazon EC2 Auto Scaling performs
5133
- # the action that you specified in the `DefaultResult` parameter. You
5134
- # can prevent the lifecycle hook from timing out by calling
5135
- # RecordLifecycleActionHeartbeat.
5226
+ # hook times out. The range is from `30` to `7200` seconds. The
5227
+ # default value is `3600` seconds (1 hour).
5136
5228
  # @return [Integer]
5137
5229
  #
5138
5230
  # @!attribute [rw] default_result
5139
- # Defines the action the Auto Scaling group should take when the
5140
- # lifecycle hook timeout elapses or if an unexpected failure occurs.
5141
- # The valid values are `CONTINUE` and `ABANDON`. The default value is
5142
- # `ABANDON`.
5231
+ # The action the Auto Scaling group takes when the lifecycle hook
5232
+ # timeout elapses or if an unexpected failure occurs. The default
5233
+ # value is `ABANDON`.
5234
+ #
5235
+ # Valid values: `CONTINUE` \| `ABANDON`
5143
5236
  # @return [String]
5144
5237
  #
5145
5238
  # @!attribute [rw] notification_target_arn
5146
- # The ARN of the target that Amazon EC2 Auto Scaling sends
5147
- # notifications to when an instance is in the transition state for the
5148
- # lifecycle hook. The notification target can be either an SQS queue
5149
- # or an SNS topic.
5239
+ # The Amazon Resource Name (ARN) of the notification target that
5240
+ # Amazon EC2 Auto Scaling sends notifications to when an instance is
5241
+ # in a wait state for the lifecycle hook. You can specify an Amazon
5242
+ # SNS topic or an Amazon SQS queue.
5150
5243
  # @return [String]
5151
5244
  #
5152
5245
  # @!attribute [rw] role_arn
5153
5246
  # The ARN of the IAM role that allows the Auto Scaling group to
5154
- # publish to the specified notification target, for example, an Amazon
5155
- # SNS topic or an Amazon SQS queue.
5247
+ # publish to the specified notification target. For information about
5248
+ # creating this role, see [Configure a notification target for a
5249
+ # lifecycle hook][1] in the *Amazon EC2 Auto Scaling User Guide*.
5250
+ #
5251
+ # Valid only if the notification target is an Amazon SNS topic or an
5252
+ # Amazon SQS queue.
5253
+ #
5254
+ #
5255
+ #
5256
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html#lifecycle-hook-notification-target
5156
5257
  # @return [String]
5157
5258
  #
5158
5259
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LifecycleHookSpecification AWS API Documentation
@@ -5754,14 +5855,13 @@ module Aws::AutoScaling
5754
5855
  # }
5755
5856
  #
5756
5857
  # @!attribute [rw] launch_template
5757
- # Specifies the launch template to use and the instance types
5758
- # (overrides) that are used to launch EC2 instances to fulfill
5759
- # On-Demand and Spot capacities. Required when creating a mixed
5760
- # instances policy.
5858
+ # One or more launch templates and the instance types (overrides) that
5859
+ # are used to launch EC2 instances to fulfill On-Demand and Spot
5860
+ # capacities.
5761
5861
  # @return [Types::LaunchTemplate]
5762
5862
  #
5763
5863
  # @!attribute [rw] instances_distribution
5764
- # Specifies the instances distribution.
5864
+ # The instances distribution.
5765
5865
  # @return [Types::InstancesDistribution]
5766
5866
  #
5767
5867
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MixedInstancesPolicy AWS API Documentation
@@ -5900,8 +6000,8 @@ module Aws::AutoScaling
5900
6000
  # * `ASGAverageNetworkOut` - Average number of bytes sent out on all
5901
6001
  # network interfaces by the Auto Scaling group.
5902
6002
  #
5903
- # * `ALBRequestCountPerTarget` - Number of requests completed per
5904
- # target in an Application Load Balancer target group.
6003
+ # * `ALBRequestCountPerTarget` - Average Application Load Balancer
6004
+ # request count per target for your Auto Scaling group.
5905
6005
  # @return [String]
5906
6006
  #
5907
6007
  # @!attribute [rw] resource_label
@@ -6701,12 +6801,14 @@ module Aws::AutoScaling
6701
6801
  # @return [String]
6702
6802
  #
6703
6803
  # @!attribute [rw] lifecycle_transition
6704
- # The instance state to which you want to attach the lifecycle hook.
6705
- # The valid values are:
6804
+ # The lifecycle transition. For Auto Scaling groups, there are two
6805
+ # major lifecycle transitions.
6706
6806
  #
6707
- # * autoscaling:EC2\_INSTANCE\_LAUNCHING
6807
+ # * To create a lifecycle hook for scale-out events, specify
6808
+ # `autoscaling:EC2_INSTANCE_LAUNCHING`.
6708
6809
  #
6709
- # * autoscaling:EC2\_INSTANCE\_TERMINATING
6810
+ # * To create a lifecycle hook for scale-in events, specify
6811
+ # `autoscaling:EC2_INSTANCE_TERMINATING`.
6710
6812
  #
6711
6813
  # Required for new lifecycle hooks, but optional when updating
6712
6814
  # existing hooks.
@@ -6714,18 +6816,18 @@ module Aws::AutoScaling
6714
6816
  #
6715
6817
  # @!attribute [rw] role_arn
6716
6818
  # The ARN of the IAM role that allows the Auto Scaling group to
6717
- # publish to the specified notification target, for example, an Amazon
6718
- # SNS topic or an Amazon SQS queue.
6819
+ # publish to the specified notification target.
6719
6820
  #
6720
- # Required for new lifecycle hooks, but optional when updating
6721
- # existing hooks.
6821
+ # Valid only if the notification target is an Amazon SNS topic or an
6822
+ # Amazon SQS queue. Required for new lifecycle hooks, but optional
6823
+ # when updating existing hooks.
6722
6824
  # @return [String]
6723
6825
  #
6724
6826
  # @!attribute [rw] notification_target_arn
6725
- # The ARN of the notification target that Amazon EC2 Auto Scaling uses
6726
- # to notify you when an instance is in the transition state for the
6727
- # lifecycle hook. This target can be either an SQS queue or an SNS
6728
- # topic.
6827
+ # The Amazon Resource Name (ARN) of the notification target that
6828
+ # Amazon EC2 Auto Scaling uses to notify you when an instance is in a
6829
+ # wait state for the lifecycle hook. You can specify either an Amazon
6830
+ # SNS topic or an Amazon SQS queue.
6729
6831
  #
6730
6832
  # If you specify an empty string, this overrides the current ARN.
6731
6833
  #
@@ -6748,18 +6850,14 @@ module Aws::AutoScaling
6748
6850
  # The maximum time, in seconds, that can elapse before the lifecycle
6749
6851
  # hook times out. The range is from `30` to `7200` seconds. The
6750
6852
  # default value is `3600` seconds (1 hour).
6751
- #
6752
- # If the lifecycle hook times out, Amazon EC2 Auto Scaling performs
6753
- # the action that you specified in the `DefaultResult` parameter. You
6754
- # can prevent the lifecycle hook from timing out by calling the
6755
- # RecordLifecycleActionHeartbeat API.
6756
6853
  # @return [Integer]
6757
6854
  #
6758
6855
  # @!attribute [rw] default_result
6759
- # Defines the action the Auto Scaling group should take when the
6760
- # lifecycle hook timeout elapses or if an unexpected failure occurs.
6761
- # This parameter can be either `CONTINUE` or `ABANDON`. The default
6856
+ # The action the Auto Scaling group takes when the lifecycle hook
6857
+ # timeout elapses or if an unexpected failure occurs. The default
6762
6858
  # value is `ABANDON`.
6859
+ #
6860
+ # Valid values: `CONTINUE` \| `ABANDON`
6763
6861
  # @return [String]
6764
6862
  #
6765
6863
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutLifecycleHookType AWS API Documentation
@@ -7023,14 +7121,16 @@ module Aws::AutoScaling
7023
7121
  # @return [Integer]
7024
7122
  #
7025
7123
  # @!attribute [rw] cooldown
7026
- # The duration of the policy's cooldown period, in seconds. When a
7027
- # cooldown period is specified here, it overrides the default cooldown
7028
- # period defined for the Auto Scaling group.
7124
+ # A cooldown period, in seconds, that applies to a specific simple
7125
+ # scaling policy. When a cooldown period is specified here, it
7126
+ # overrides the default cooldown.
7029
7127
  #
7030
7128
  # Valid only if the policy type is `SimpleScaling`. For more
7031
7129
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1]
7032
7130
  # in the *Amazon EC2 Auto Scaling User Guide*.
7033
7131
  #
7132
+ # Default: None
7133
+ #
7034
7134
  #
7035
7135
  #
7036
7136
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
@@ -7053,13 +7153,24 @@ module Aws::AutoScaling
7053
7153
  # @return [Array<Types::StepAdjustment>]
7054
7154
  #
7055
7155
  # @!attribute [rw] estimated_instance_warmup
7156
+ # *Not needed if the default instance warmup is defined for the
7157
+ # group.*
7158
+ #
7056
7159
  # The estimated time, in seconds, until a newly launched instance can
7057
- # contribute to the CloudWatch metrics. If not provided, the default
7058
- # is to use the value from the default cooldown period for the Auto
7059
- # Scaling group.
7160
+ # contribute to the CloudWatch metrics. This warm-up period applies to
7161
+ # instances launched due to a specific target tracking or step scaling
7162
+ # policy. When a warm-up period is specified here, it overrides the
7163
+ # default instance warmup.
7060
7164
  #
7061
7165
  # Valid only if the policy type is `TargetTrackingScaling` or
7062
7166
  # `StepScaling`.
7167
+ #
7168
+ # <note markdown="1"> The default is to use the value for the default instance warmup
7169
+ # defined for the group. If default instance warmup is null, then
7170
+ # `EstimatedInstanceWarmup` falls back to the value of default
7171
+ # cooldown.
7172
+ #
7173
+ # </note>
7063
7174
  # @return [Integer]
7064
7175
  #
7065
7176
  # @!attribute [rw] target_tracking_configuration
@@ -7077,7 +7188,7 @@ module Aws::AutoScaling
7077
7188
  # * `ALBRequestCountPerTarget`
7078
7189
  #
7079
7190
  # If you specify `ALBRequestCountPerTarget` for the metric, you must
7080
- # specify the `ResourceLabel` parameter with the
7191
+ # specify the `ResourceLabel` property with the
7081
7192
  # `PredefinedMetricSpecification`.
7082
7193
  #
7083
7194
  # For more information, see [TargetTrackingConfiguration][1] in the
@@ -7164,24 +7275,22 @@ module Aws::AutoScaling
7164
7275
  # @return [String]
7165
7276
  #
7166
7277
  # @!attribute [rw] time
7167
- # This parameter is no longer used.
7278
+ # This property is no longer used.
7168
7279
  # @return [Time]
7169
7280
  #
7170
7281
  # @!attribute [rw] start_time
7171
7282
  # The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ
7172
7283
  # format in UTC/GMT only and in quotes (for example,
7173
- # `"2019-06-01T00:00:00Z"`).
7284
+ # `"2021-06-01T00:00:00Z"`).
7174
7285
  #
7175
7286
  # If you specify `Recurrence` and `StartTime`, Amazon EC2 Auto Scaling
7176
7287
  # performs the action at this time, and then performs the action based
7177
7288
  # on the specified recurrence.
7178
- #
7179
- # If you try to schedule your action in the past, Amazon EC2 Auto
7180
- # Scaling returns an error message.
7181
7289
  # @return [Time]
7182
7290
  #
7183
7291
  # @!attribute [rw] end_time
7184
- # The date and time for the recurring schedule to end, in UTC.
7292
+ # The date and time for the recurring schedule to end, in UTC. For
7293
+ # example, `"2021-06-01T00:00:00Z"`.
7185
7294
  # @return [Time]
7186
7295
  #
7187
7296
  # @!attribute [rw] recurrence
@@ -7214,6 +7323,11 @@ module Aws::AutoScaling
7214
7323
  # group after the scheduled action runs and the capacity it attempts
7215
7324
  # to maintain. It can scale beyond this capacity if you add more
7216
7325
  # scaling conditions.
7326
+ #
7327
+ # <note markdown="1"> You must specify at least one of the following properties:
7328
+ # `MaxSize`, `MinSize`, or `DesiredCapacity`.
7329
+ #
7330
+ # </note>
7217
7331
  # @return [Integer]
7218
7332
  #
7219
7333
  # @!attribute [rw] time_zone
@@ -7258,7 +7372,10 @@ module Aws::AutoScaling
7258
7372
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
7259
7373
  # max_group_prepared_capacity: 1,
7260
7374
  # min_size: 1,
7261
- # pool_state: "Stopped", # accepts Stopped, Running
7375
+ # pool_state: "Stopped", # accepts Stopped, Running, Hibernated
7376
+ # instance_reuse_policy: {
7377
+ # reuse_on_scale_in: false,
7378
+ # },
7262
7379
  # }
7263
7380
  #
7264
7381
  # @!attribute [rw] auto_scaling_group_name
@@ -7301,13 +7418,20 @@ module Aws::AutoScaling
7301
7418
  # are complete. Default is `Stopped`.
7302
7419
  # @return [String]
7303
7420
  #
7421
+ # @!attribute [rw] instance_reuse_policy
7422
+ # Indicates whether instances in the Auto Scaling group can be
7423
+ # returned to the warm pool on scale in. The default is to terminate
7424
+ # instances in the Auto Scaling group when the group scales in.
7425
+ # @return [Types::InstanceReusePolicy]
7426
+ #
7304
7427
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPoolType AWS API Documentation
7305
7428
  #
7306
7429
  class PutWarmPoolType < Struct.new(
7307
7430
  :auto_scaling_group_name,
7308
7431
  :max_group_prepared_capacity,
7309
7432
  :min_size,
7310
- :pool_state)
7433
+ :pool_state,
7434
+ :instance_reuse_policy)
7311
7435
  SENSITIVE = []
7312
7436
  include Aws::Structure
7313
7437
  end
@@ -7370,11 +7494,11 @@ module Aws::AutoScaling
7370
7494
  # }
7371
7495
  #
7372
7496
  # @!attribute [rw] min_healthy_percentage
7373
- # The amount of capacity in the Auto Scaling group that must remain
7374
- # healthy during an instance refresh to allow the operation to
7375
- # continue. The value is expressed as a percentage of the desired
7376
- # capacity of the Auto Scaling group (rounded up to the nearest
7377
- # integer). The default is `90`.
7497
+ # The amount of capacity in the Auto Scaling group that must pass your
7498
+ # group's health checks to allow the operation to continue. The value
7499
+ # is expressed as a percentage of the desired capacity of the Auto
7500
+ # Scaling group (rounded up to the nearest integer). The default is
7501
+ # `90`.
7378
7502
  #
7379
7503
  # Setting the minimum healthy percentage to 100 percent limits the
7380
7504
  # rate of replacement to one instance at a time. In contrast, setting
@@ -7383,10 +7507,17 @@ module Aws::AutoScaling
7383
7507
  # @return [Integer]
7384
7508
  #
7385
7509
  # @!attribute [rw] instance_warmup
7386
- # The number of seconds until a newly launched instance is configured
7387
- # and ready to use. During this time, Amazon EC2 Auto Scaling does not
7388
- # immediately move on to the next replacement. The default is to use
7389
- # the value for the health check grace period defined for the group.
7510
+ # *Not needed if the default instance warmup is defined for the
7511
+ # group.*
7512
+ #
7513
+ # The duration of the instance warmup, in seconds.
7514
+ #
7515
+ # <note markdown="1"> The default is to use the value for the default instance warmup
7516
+ # defined for the group. If default instance warmup is null, then
7517
+ # `InstanceWarmup` falls back to the value of the health check grace
7518
+ # period.
7519
+ #
7520
+ # </note>
7390
7521
  # @return [Integer]
7391
7522
  #
7392
7523
  # @!attribute [rw] checkpoint_percentages
@@ -7623,7 +7754,7 @@ module Aws::AutoScaling
7623
7754
  #
7624
7755
  # * `ScheduledActions`
7625
7756
  #
7626
- # If you omit this parameter, all processes are specified.
7757
+ # If you omit this property, all processes are specified.
7627
7758
  # @return [Array<String>]
7628
7759
  #
7629
7760
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ScalingProcessQuery AWS API Documentation
@@ -7671,7 +7802,7 @@ module Aws::AutoScaling
7671
7802
  # @return [String]
7672
7803
  #
7673
7804
  # @!attribute [rw] time
7674
- # This parameter is no longer used.
7805
+ # This property is no longer used.
7675
7806
  # @return [Time]
7676
7807
  #
7677
7808
  # @!attribute [rw] start_time
@@ -8186,6 +8317,12 @@ module Aws::AutoScaling
8186
8317
  # The amount by which to scale, based on the specified adjustment
8187
8318
  # type. A positive value adds to the current capacity while a negative
8188
8319
  # number removes from the current capacity.
8320
+ #
8321
+ # The amount by which to scale. The adjustment is based on the value
8322
+ # that you specified in the `AdjustmentType` property (either an
8323
+ # absolute number or a percentage). A positive value adds to the
8324
+ # current capacity and a negative number subtracts from the current
8325
+ # capacity.
8189
8326
  # @return [Integer]
8190
8327
  #
8191
8328
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/StepAdjustment AWS API Documentation
@@ -8367,6 +8504,15 @@ module Aws::AutoScaling
8367
8504
  #
8368
8505
  # @!attribute [rw] target_value
8369
8506
  # The target value for the metric.
8507
+ #
8508
+ # <note markdown="1"> Some metrics are based on a count instead of a percentage, such as
8509
+ # the request count for an Application Load Balancer or the number of
8510
+ # messages in an SQS queue. If the scaling policy specifies one of
8511
+ # these metrics, specify the target utilization as the optimal average
8512
+ # request or message count per instance during any one-minute
8513
+ # interval.
8514
+ #
8515
+ # </note>
8370
8516
  # @return [Float]
8371
8517
  #
8372
8518
  # @!attribute [rw] disable_scale_in
@@ -8544,6 +8690,7 @@ module Aws::AutoScaling
8544
8690
  # capacity_rebalance: false,
8545
8691
  # context: "Context",
8546
8692
  # desired_capacity_type: "XmlStringMaxLen255",
8693
+ # default_instance_warmup: 1,
8547
8694
  # }
8548
8695
  #
8549
8696
  # @!attribute [rw] auto_scaling_group_name
@@ -8599,10 +8746,10 @@ module Aws::AutoScaling
8599
8746
  # @return [Integer]
8600
8747
  #
8601
8748
  # @!attribute [rw] default_cooldown
8602
- # The amount of time, in seconds, after a scaling activity completes
8603
- # before another scaling activity can start. The default value is
8604
- # `300`. This setting applies when using simple scaling policies, but
8605
- # not when using other scaling policies or scheduled scaling. For more
8749
+ # *Only needed if you use simple scaling policies.*
8750
+ #
8751
+ # The amount of time, in seconds, between one scaling activity ending
8752
+ # and another one starting due to simple scaling policies. For more
8606
8753
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1]
8607
8754
  # in the *Amazon EC2 Auto Scaling User Guide*.
8608
8755
  #
@@ -8625,11 +8772,11 @@ module Aws::AutoScaling
8625
8772
  # @!attribute [rw] health_check_grace_period
8626
8773
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
8627
8774
  # before checking the health status of an EC2 instance that has come
8628
- # into service and marking it unhealthy due to a failed health check.
8629
- # The default value is `0`. For more information, see [Health check
8630
- # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
8631
- #
8632
- # Conditional: Required if you are adding an `ELB` health check.
8775
+ # into service and marking it unhealthy due to a failed Elastic Load
8776
+ # Balancing or custom health check. This is useful if your instances
8777
+ # do not immediately pass these health checks after they enter the
8778
+ # `InService` state. For more information, see [Health check grace
8779
+ # period][1] in the *Amazon EC2 Auto Scaling User Guide*.
8633
8780
  #
8634
8781
  #
8635
8782
  #
@@ -8638,11 +8785,14 @@ module Aws::AutoScaling
8638
8785
  #
8639
8786
  # @!attribute [rw] placement_group
8640
8787
  # The name of an existing placement group into which to launch your
8641
- # instances, if any. A placement group is a logical grouping of
8642
- # instances within a single Availability Zone. You cannot specify
8643
- # multiple Availability Zones and a placement group. For more
8644
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
8645
- # for Linux Instances*.
8788
+ # instances. For more information, see [Placement groups][1] in the
8789
+ # *Amazon EC2 User Guide for Linux Instances*.
8790
+ #
8791
+ # <note markdown="1"> A *cluster* placement group is a logical grouping of instances
8792
+ # within a single Availability Zone. You cannot specify multiple
8793
+ # Availability Zones and a cluster placement group.
8794
+ #
8795
+ # </note>
8646
8796
  #
8647
8797
  #
8648
8798
  #
@@ -8652,20 +8802,25 @@ module Aws::AutoScaling
8652
8802
  # @!attribute [rw] vpc_zone_identifier
8653
8803
  # A comma-separated list of subnet IDs for a virtual private cloud
8654
8804
  # (VPC). If you specify `VPCZoneIdentifier` with `AvailabilityZones`,
8655
- # the subnets that you specify for this parameter must reside in those
8656
- # Availability Zones.
8805
+ # the subnets that you specify must reside in those Availability
8806
+ # Zones.
8657
8807
  # @return [String]
8658
8808
  #
8659
8809
  # @!attribute [rw] termination_policies
8660
8810
  # A policy or a list of policies that are used to select the instances
8661
8811
  # to terminate. The policies are executed in the order that you list
8662
- # them. For more information, see [Controlling which Auto Scaling
8663
- # instances terminate during scale in][1] in the *Amazon EC2 Auto
8664
- # Scaling User Guide*.
8812
+ # them. For more information, see [Work with Amazon EC2 Auto Scaling
8813
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User
8814
+ # Guide*.
8665
8815
  #
8816
+ # Valid values: `Default` \| `AllocationStrategy` \|
8817
+ # `ClosestToNextInstanceHour` \| `NewestInstance` \| `OldestInstance`
8818
+ # \| `OldestLaunchConfiguration` \| `OldestLaunchTemplate` \|
8819
+ # `arn:aws:lambda:region:account-id:function:my-function:my-alias`
8666
8820
  #
8667
8821
  #
8668
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
8822
+ #
8823
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
8669
8824
  # @return [Array<String>]
8670
8825
  #
8671
8826
  # @!attribute [rw] new_instances_protected_from_scale_in
@@ -8706,8 +8861,8 @@ module Aws::AutoScaling
8706
8861
  #
8707
8862
  # @!attribute [rw] capacity_rebalance
8708
8863
  # Enables or disables Capacity Rebalancing. For more information, see
8709
- # [Amazon EC2 Auto Scaling Capacity Rebalancing][1] in the *Amazon EC2
8710
- # Auto Scaling User Guide*.
8864
+ # [Use Capacity Rebalancing to handle Amazon EC2 Spot
8865
+ # Interruptions][1] in the *Amazon EC2 Auto Scaling User Guide*.
8711
8866
  #
8712
8867
  #
8713
8868
  #
@@ -8735,6 +8890,33 @@ module Aws::AutoScaling
8735
8890
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
8736
8891
  # @return [String]
8737
8892
  #
8893
+ # @!attribute [rw] default_instance_warmup
8894
+ # The amount of time, in seconds, until a newly launched instance can
8895
+ # contribute to the Amazon CloudWatch metrics. This delay lets an
8896
+ # instance finish initializing before Amazon EC2 Auto Scaling
8897
+ # aggregates instance metrics, resulting in more reliable usage data.
8898
+ # Set this value equal to the amount of time that it takes for
8899
+ # resource consumption to become stable after an instance reaches the
8900
+ # `InService` state. For more information, see [Set the default
8901
+ # instance warmup for an Auto Scaling group][1] in the *Amazon EC2
8902
+ # Auto Scaling User Guide*.
8903
+ #
8904
+ # To manage your warm-up settings at the group level, we recommend
8905
+ # that you set the default instance warmup, *even if its value is set
8906
+ # to 0 seconds*. This also optimizes the performance of scaling
8907
+ # policies that scale continuously, such as target tracking and step
8908
+ # scaling policies.
8909
+ #
8910
+ # If you need to remove a value that you previously set, include the
8911
+ # property but specify `-1` for the value. However, we strongly
8912
+ # recommend keeping the default instance warmup enabled by specifying
8913
+ # a minimum value of `0`.
8914
+ #
8915
+ #
8916
+ #
8917
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
8918
+ # @return [Integer]
8919
+ #
8738
8920
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroupType AWS API Documentation
8739
8921
  #
8740
8922
  class UpdateAutoScalingGroupType < Struct.new(
@@ -8757,7 +8939,8 @@ module Aws::AutoScaling
8757
8939
  :max_instance_lifetime,
8758
8940
  :capacity_rebalance,
8759
8941
  :context,
8760
- :desired_capacity_type)
8942
+ :desired_capacity_type,
8943
+ :default_instance_warmup)
8761
8944
  SENSITIVE = []
8762
8945
  include Aws::Structure
8763
8946
  end
@@ -8810,13 +8993,18 @@ module Aws::AutoScaling
8810
8993
  # The status of a warm pool that is marked for deletion.
8811
8994
  # @return [String]
8812
8995
  #
8996
+ # @!attribute [rw] instance_reuse_policy
8997
+ # The instance reuse policy.
8998
+ # @return [Types::InstanceReusePolicy]
8999
+ #
8813
9000
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/WarmPoolConfiguration AWS API Documentation
8814
9001
  #
8815
9002
  class WarmPoolConfiguration < Struct.new(
8816
9003
  :max_group_prepared_capacity,
8817
9004
  :min_size,
8818
9005
  :pool_state,
8819
- :status)
9006
+ :status,
9007
+ :instance_reuse_policy)
8820
9008
  SENSITIVE = []
8821
9009
  include Aws::Structure
8822
9010
  end