aws-sdk-autoscaling 1.77.0 → 1.80.0

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