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.
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
31
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
32
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
@@ -75,6 +76,7 @@ module Aws::AutoScaling
75
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
76
77
  add_plugin(Aws::Plugins::TransferEncoding)
77
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
78
80
  add_plugin(Aws::Plugins::DefaultsMode)
79
81
  add_plugin(Aws::Plugins::RecursionDetection)
80
82
  add_plugin(Aws::Plugins::SignatureV4)
@@ -426,8 +428,9 @@ module Aws::AutoScaling
426
428
  # This operation is additive and does not detach existing target groups
427
429
  # or Classic Load Balancers from the Auto Scaling group.
428
430
  #
429
- # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
430
- # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
431
+ # For more information, see [Use Elastic Load Balancing to distribute
432
+ # traffic across the instances in your Auto Scaling group][1] in the
433
+ # *Amazon EC2 Auto Scaling User Guide*.
431
434
  #
432
435
  #
433
436
  #
@@ -486,14 +489,15 @@ module Aws::AutoScaling
486
489
  # with these Classic Load Balancers.
487
490
  #
488
491
  # To describe the load balancers for an Auto Scaling group, call the
489
- # DescribeLoadBalancers API. To detach the load balancer from the Auto
492
+ # DescribeLoadBalancers API. To detach a load balancer from the Auto
490
493
  # Scaling group, call the DetachLoadBalancers API.
491
494
  #
492
495
  # This operation is additive and does not detach existing Classic Load
493
496
  # Balancers or target groups from the Auto Scaling group.
494
497
  #
495
- # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
496
- # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
498
+ # For more information, see [Use Elastic Load Balancing to distribute
499
+ # traffic across the instances in your Auto Scaling group][1] in the
500
+ # *Amazon EC2 Auto Scaling User Guide*.
497
501
  #
498
502
  #
499
503
  #
@@ -678,22 +682,26 @@ module Aws::AutoScaling
678
682
  # This step is a part of the procedure for adding a lifecycle hook to an
679
683
  # Auto Scaling group:
680
684
  #
681
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
682
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
683
- # Scaling launches or terminates instances.
685
+ # 1. (Optional) Create a launch template or launch configuration with a
686
+ # user data script that runs while an instance is in a wait state
687
+ # due to a lifecycle hook.
688
+ #
689
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
690
+ # EventBridge to invoke your Lambda function when an instance is put
691
+ # into a wait state due to a lifecycle hook.
684
692
  #
685
- # 2. (Optional) Create a notification target and an IAM role. The
693
+ # 3. (Optional) Create a notification target and an IAM role. The
686
694
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
687
695
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
688
696
  # notifications to the target.
689
697
  #
690
- # 3. Create the lifecycle hook. Specify whether the hook is used when
698
+ # 4. Create the lifecycle hook. Specify whether the hook is used when
691
699
  # the instances launch or terminate.
692
700
  #
693
- # 4. If you need more time, record the lifecycle action heartbeat to
694
- # keep the instance in a pending state.
701
+ # 5. If you need more time, record the lifecycle action heartbeat to
702
+ # keep the instance in a wait state.
695
703
  #
696
- # 5. **If you finish before the timeout period ends, send a callback by
704
+ # 6. **If you finish before the timeout period ends, send a callback by
697
705
  # using the CompleteLifecycleAction API call.**
698
706
  #
699
707
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -716,8 +724,8 @@ module Aws::AutoScaling
716
724
  # created the lifecycle hook.
717
725
  #
718
726
  # @option params [required, String] :lifecycle_action_result
719
- # The action for the group to take. This parameter can be either
720
- # `CONTINUE` or `ABANDON`.
727
+ # The action for the group to take. You can specify either `CONTINUE` or
728
+ # `ABANDON`.
721
729
  #
722
730
  # @option params [String] :instance_id
723
731
  # The ID of the instance.
@@ -764,8 +772,8 @@ module Aws::AutoScaling
764
772
  #
765
773
  # If you exceed your maximum limit of Auto Scaling groups, the call
766
774
  # fails. To query this limit, call the DescribeAccountLimits API. For
767
- # information about updating this limit, see [Amazon EC2 Auto Scaling
768
- # service quotas][1] in the *Amazon EC2 Auto Scaling User Guide*.
775
+ # information about updating this limit, see [Quotas for Amazon EC2 Auto
776
+ # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
769
777
  #
770
778
  # For introductory exercises for creating an Auto Scaling group, see
771
779
  # [Getting started with Amazon EC2 Auto Scaling][2] and [Tutorial: Set
@@ -773,7 +781,7 @@ module Aws::AutoScaling
773
781
  # Scaling User Guide*. For more information, see [Auto Scaling
774
782
  # groups][4] in the *Amazon EC2 Auto Scaling User Guide*.
775
783
  #
776
- # Every Auto Scaling group has three size parameters (`DesiredCapacity`,
784
+ # Every Auto Scaling group has three size properties (`DesiredCapacity`,
777
785
  # `MaxSize`, and `MinSize`). Usually, you set these sizes based on a
778
786
  # specific number of instances. However, if you configure a mixed
779
787
  # instances policy that defines weights for the instance types, you must
@@ -782,7 +790,7 @@ module Aws::AutoScaling
782
790
  #
783
791
  #
784
792
  #
785
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html
793
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
786
794
  # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html
787
795
  # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-with-asg.html
788
796
  # [4]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html
@@ -799,7 +807,7 @@ module Aws::AutoScaling
799
807
  # (`LaunchConfigurationName` or `InstanceId`).
800
808
  #
801
809
  # @option params [Types::LaunchTemplateSpecification] :launch_template
802
- # Parameters used to specify the launch template and version to use to
810
+ # Information used to specify the launch template and version to use to
803
811
  # launch instances.
804
812
  #
805
813
  # Conditional: You must specify either a launch template
@@ -866,37 +874,39 @@ module Aws::AutoScaling
866
874
  # group.
867
875
  #
868
876
  # @option params [Integer] :default_cooldown
869
- # The amount of time, in seconds, after a scaling activity completes
870
- # before another scaling activity can start. The default value is `300`.
871
- # This setting applies when using simple scaling policies, but not when
872
- # using other scaling policies or scheduled scaling. For more
877
+ # *Only needed if you use simple scaling policies.*
878
+ #
879
+ # The amount of time, in seconds, between one scaling activity ending
880
+ # and another one starting due to simple scaling policies. For more
873
881
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
874
882
  # the *Amazon EC2 Auto Scaling User Guide*.
875
883
  #
884
+ # Default: `300` seconds
885
+ #
876
886
  #
877
887
  #
878
888
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
879
889
  #
880
890
  # @option params [Array<String>] :availability_zones
881
891
  # A list of Availability Zones where instances in the Auto Scaling group
882
- # can be created. This parameter is optional if you specify one or more
883
- # subnets for `VPCZoneIdentifier`.
884
- #
885
- # Conditional: If your account supports EC2-Classic and VPC, this
886
- # parameter is required to launch instances into EC2-Classic.
892
+ # can be created. Used for launching into the default VPC subnet in each
893
+ # Availability Zone when not using the `VPCZoneIdentifier` property, or
894
+ # for attaching a network interface when an existing network interface
895
+ # ID is specified in a launch template.
887
896
  #
888
897
  # @option params [Array<String>] :load_balancer_names
889
898
  # A list of Classic Load Balancers associated with this Auto Scaling
890
899
  # group. For Application Load Balancers, Network Load Balancers, and
891
- # Gateway Load Balancers, specify the `TargetGroupARNs` property
892
- # instead.
900
+ # Gateway Load Balancer, specify the `TargetGroupARNs` property instead.
893
901
  #
894
902
  # @option params [Array<String>] :target_group_arns
895
903
  # The Amazon Resource Names (ARN) of the target groups to associate with
896
- # the Auto Scaling group. Instances are registered as targets in a
897
- # target group, and traffic is routed to the target group. For more
898
- # information, see [Elastic Load Balancing and Amazon EC2 Auto
899
- # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
904
+ # the Auto Scaling group. Instances are registered as targets with the
905
+ # target groups. The target groups receive incoming traffic and route
906
+ # requests to one or more registered targets. For more information, see
907
+ # [Use Elastic Load Balancing to distribute traffic across the instances
908
+ # in your Auto Scaling group][1] in the *Amazon EC2 Auto Scaling User
909
+ # Guide*.
900
910
  #
901
911
  #
902
912
  #
@@ -917,23 +927,28 @@ module Aws::AutoScaling
917
927
  # @option params [Integer] :health_check_grace_period
918
928
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
919
929
  # before checking the health status of an EC2 instance that has come
920
- # into service and marking it unhealthy due to a failed health check.
921
- # The default value is `0`. For more information, see [Health check
922
- # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
930
+ # into service and marking it unhealthy due to a failed Elastic Load
931
+ # Balancing or custom health check. This is useful if your instances do
932
+ # not immediately pass these health checks after they enter the
933
+ # `InService` state. For more information, see [Health check grace
934
+ # period][1] in the *Amazon EC2 Auto Scaling User Guide*.
923
935
  #
924
- # Conditional: Required if you are adding an `ELB` health check.
936
+ # Default: `0` seconds
925
937
  #
926
938
  #
927
939
  #
928
940
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period
929
941
  #
930
942
  # @option params [String] :placement_group
931
- # The name of an existing placement group into which to launch your
932
- # instances, if any. A placement group is a logical grouping of
933
- # instances within a single Availability Zone. You cannot specify
934
- # multiple Availability Zones and a placement group. For more
935
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
936
- # for Linux Instances*.
943
+ # The name of the placement group into which to launch your instances.
944
+ # For more information, see [Placement groups][1] in the *Amazon EC2
945
+ # User Guide for Linux Instances*.
946
+ #
947
+ # <note markdown="1"> A *cluster* placement group is a logical grouping of instances within
948
+ # a single Availability Zone. You cannot specify multiple Availability
949
+ # Zones and a cluster placement group.
950
+ #
951
+ # </note>
937
952
  #
938
953
  #
939
954
  #
@@ -943,22 +958,22 @@ module Aws::AutoScaling
943
958
  # A comma-separated list of subnet IDs for a virtual private cloud (VPC)
944
959
  # where instances in the Auto Scaling group can be created. If you
945
960
  # specify `VPCZoneIdentifier` with `AvailabilityZones`, the subnets that
946
- # you specify for this parameter must reside in those Availability
947
- # Zones.
948
- #
949
- # Conditional: If your account supports EC2-Classic and VPC, this
950
- # parameter is required to launch instances into a VPC.
961
+ # you specify must reside in those Availability Zones.
951
962
  #
952
963
  # @option params [Array<String>] :termination_policies
953
964
  # A policy or a list of policies that are used to select the instance to
954
965
  # terminate. These policies are executed in the order that you list
955
- # them. For more information, see [Controlling which Auto Scaling
956
- # instances terminate during scale in][1] in the *Amazon EC2 Auto
957
- # Scaling User Guide*.
966
+ # them. For more information, see [Work with Amazon EC2 Auto Scaling
967
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User Guide*.
958
968
  #
969
+ # Valid values: `Default` \| `AllocationStrategy` \|
970
+ # `ClosestToNextInstanceHour` \| `NewestInstance` \| `OldestInstance` \|
971
+ # `OldestLaunchConfiguration` \| `OldestLaunchTemplate` \|
972
+ # `arn:aws:lambda:region:account-id:function:my-function:my-alias`
959
973
  #
960
974
  #
961
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
975
+ #
976
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
962
977
  #
963
978
  # @option params [Boolean] :new_instances_protected_from_scale_in
964
979
  # Indicates whether newly launched instances are protected from
@@ -977,16 +992,17 @@ module Aws::AutoScaling
977
992
  # EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon
978
993
  # EC2 notifies that a Spot Instance is at an elevated risk of
979
994
  # interruption. After launching a new instance, it then terminates an
980
- # old instance. For more information, see [Amazon EC2 Auto Scaling
981
- # Capacity Rebalancing][1] in the *Amazon EC2 Auto Scaling User Guide*.
995
+ # old instance. For more information, see [Use Capacity Rebalancing to
996
+ # handle Amazon EC2 Spot Interruptions][1] in the in the *Amazon EC2
997
+ # Auto Scaling User Guide*.
982
998
  #
983
999
  #
984
1000
  #
985
1001
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
986
1002
  #
987
1003
  # @option params [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
988
- # One or more lifecycle hooks for the group, which specify actions to
989
- # perform when Amazon EC2 Auto Scaling launches or terminates instances.
1004
+ # One or more lifecycle hooks to add to the Auto Scaling group before
1005
+ # instances are launched.
990
1006
  #
991
1007
  # @option params [Array<Types::Tag>] :tags
992
1008
  # One or more tags. You can tag your Auto Scaling group and propagate
@@ -996,19 +1012,19 @@ module Aws::AutoScaling
996
1012
  # template specifies an instance tag with a key that is also specified
997
1013
  # for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the
998
1014
  # value of that instance tag with the value specified by the Auto
999
- # Scaling group. For more information, see [Tagging Auto Scaling groups
1000
- # and instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1015
+ # Scaling group. For more information, see [Tag Auto Scaling groups and
1016
+ # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1001
1017
  #
1002
1018
  #
1003
1019
  #
1004
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
1020
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
1005
1021
  #
1006
1022
  # @option params [String] :service_linked_role_arn
1007
1023
  # The Amazon Resource Name (ARN) of the service-linked role that the
1008
- # Auto Scaling group uses to call other Amazon Web Services on your
1009
- # behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role
1010
- # named `AWSServiceRoleForAutoScaling`, which it creates if it does not
1011
- # exist. For more information, see [Service-linked roles][1] in the
1024
+ # Auto Scaling group uses to call other Amazon Web Services service on
1025
+ # your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked
1026
+ # role named `AWSServiceRoleForAutoScaling`, which it creates if it does
1027
+ # not exist. For more information, see [Service-linked roles][1] in the
1012
1028
  # *Amazon EC2 Auto Scaling User Guide*.
1013
1029
  #
1014
1030
  #
@@ -1045,6 +1061,32 @@ module Aws::AutoScaling
1045
1061
  #
1046
1062
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
1047
1063
  #
1064
+ # @option params [Integer] :default_instance_warmup
1065
+ # The amount of time, in seconds, until a newly launched instance can
1066
+ # contribute to the Amazon CloudWatch metrics. This delay lets an
1067
+ # instance finish initializing before Amazon EC2 Auto Scaling aggregates
1068
+ # instance metrics, resulting in more reliable usage data. Set this
1069
+ # value equal to the amount of time that it takes for resource
1070
+ # consumption to become stable after an instance reaches the `InService`
1071
+ # state. For more information, see [Set the default instance warmup for
1072
+ # an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling User Guide*.
1073
+ #
1074
+ # To manage your warm-up settings at the group level, we recommend that
1075
+ # you set the default instance warmup, *even if its value is set to 0
1076
+ # seconds*. This also optimizes the performance of scaling policies that
1077
+ # scale continuously, such as target tracking and step scaling policies.
1078
+ #
1079
+ # If you need to remove a value that you previously set, include the
1080
+ # property but specify `-1` for the value. However, we strongly
1081
+ # recommend keeping the default instance warmup enabled by specifying a
1082
+ # minimum value of `0`.
1083
+ #
1084
+ # Default: None
1085
+ #
1086
+ #
1087
+ #
1088
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
1089
+ #
1048
1090
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1049
1091
  #
1050
1092
  #
@@ -1055,7 +1097,7 @@ module Aws::AutoScaling
1055
1097
  # resp = client.create_auto_scaling_group({
1056
1098
  # auto_scaling_group_name: "my-auto-scaling-group",
1057
1099
  # launch_template: {
1058
- # launch_template_id: "lt-0a20c965061f64abc",
1100
+ # launch_template_name: "my-template-for-auto-scaling",
1059
1101
  # version: "$Latest",
1060
1102
  # },
1061
1103
  # max_instance_lifetime: 2592000,
@@ -1073,8 +1115,8 @@ module Aws::AutoScaling
1073
1115
  # health_check_grace_period: 300,
1074
1116
  # health_check_type: "ELB",
1075
1117
  # launch_template: {
1076
- # launch_template_id: "lt-0a20c965061f64abc",
1077
- # version: "$Default",
1118
+ # launch_template_name: "my-template-for-auto-scaling",
1119
+ # version: "$Latest",
1078
1120
  # },
1079
1121
  # max_size: 3,
1080
1122
  # min_size: 1,
@@ -1249,6 +1291,7 @@ module Aws::AutoScaling
1249
1291
  # max_instance_lifetime: 1,
1250
1292
  # context: "Context",
1251
1293
  # desired_capacity_type: "XmlStringMaxLen255",
1294
+ # default_instance_warmup: 1,
1252
1295
  # })
1253
1296
  #
1254
1297
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroup AWS API Documentation
@@ -1264,15 +1307,15 @@ module Aws::AutoScaling
1264
1307
  #
1265
1308
  # If you exceed your maximum limit of launch configurations, the call
1266
1309
  # fails. To query this limit, call the DescribeAccountLimits API. For
1267
- # information about updating this limit, see [Amazon EC2 Auto Scaling
1268
- # service quotas][1] in the *Amazon EC2 Auto Scaling User Guide*.
1310
+ # information about updating this limit, see [Quotas for Amazon EC2 Auto
1311
+ # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
1269
1312
  #
1270
1313
  # For more information, see [Launch configurations][2] in the *Amazon
1271
1314
  # EC2 Auto Scaling User Guide*.
1272
1315
  #
1273
1316
  #
1274
1317
  #
1275
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html
1318
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
1276
1319
  # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html
1277
1320
  #
1278
1321
  # @option params [required, String] :launch_configuration_name
@@ -1281,68 +1324,55 @@ module Aws::AutoScaling
1281
1324
  #
1282
1325
  # @option params [String] :image_id
1283
1326
  # The ID of the Amazon Machine Image (AMI) that was assigned during
1284
- # registration. For more information, see [Finding an AMI][1] in the
1285
- # *Amazon EC2 User Guide for Linux Instances*.
1327
+ # registration. For more information, see [Finding a Linux AMI][1] in
1328
+ # the *Amazon EC2 User Guide for Linux Instances*.
1286
1329
  #
1287
- # If you do not specify `InstanceId`, you must specify `ImageId`.
1330
+ # If you specify `InstanceId`, an `ImageId` is not required.
1288
1331
  #
1289
1332
  #
1290
1333
  #
1291
1334
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html
1292
1335
  #
1293
1336
  # @option params [String] :key_name
1294
- # The name of the key pair. For more information, see [Amazon EC2 Key
1295
- # Pairs][1] in the *Amazon EC2 User Guide for Linux Instances*.
1337
+ # The name of the key pair. For more information, see [Amazon EC2 key
1338
+ # pairs and Linux instances][1] in the *Amazon EC2 User Guide for Linux
1339
+ # Instances*.
1296
1340
  #
1297
1341
  #
1298
1342
  #
1299
1343
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
1300
1344
  #
1301
1345
  # @option params [Array<String>] :security_groups
1302
- # A list that contains the security groups to assign to the instances in
1303
- # the Auto Scaling group.
1304
- #
1305
- # \[EC2-VPC\] Specify the security group IDs. For more information, see
1306
- # [Security Groups for Your VPC][1] in the *Amazon Virtual Private Cloud
1307
- # User Guide*.
1308
- #
1309
- # \[EC2-Classic\] Specify either the security group names or the
1310
- # security group IDs. For more information, see [Amazon EC2 Security
1311
- # Groups][2] in the *Amazon EC2 User Guide for Linux Instances*.
1346
+ # A list that contains the security group IDs to assign to the instances
1347
+ # in the Auto Scaling group. For more information, see [Control traffic
1348
+ # to resources using security groups][1] in the *Amazon Virtual Private
1349
+ # Cloud User Guide*.
1312
1350
  #
1313
1351
  #
1314
1352
  #
1315
1353
  # [1]: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
1316
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
1317
1354
  #
1318
1355
  # @option params [String] :classic_link_vpc_id
1356
+ # *EC2-Classic retires on August 15, 2022. This property is not
1357
+ # supported after that date.*
1358
+ #
1319
1359
  # The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances
1320
1360
  # to. For more information, see [ClassicLink][1] in the *Amazon EC2 User
1321
- # Guide for Linux Instances* and [Linking EC2-Classic instances to a
1322
- # VPC][2] in the *Amazon EC2 Auto Scaling User Guide*.
1323
- #
1324
- # This parameter can only be used if you are launching EC2-Classic
1325
- # instances.
1361
+ # Guide for Linux Instances*.
1326
1362
  #
1327
1363
  #
1328
1364
  #
1329
1365
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1330
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1331
1366
  #
1332
1367
  # @option params [Array<String>] :classic_link_vpc_security_groups
1333
- # The IDs of one or more security groups for the specified
1334
- # ClassicLink-enabled VPC. For more information, see [ClassicLink][1] in
1335
- # the *Amazon EC2 User Guide for Linux Instances* and [Linking
1336
- # EC2-Classic instances to a VPC][2] in the *Amazon EC2 Auto Scaling
1337
- # User Guide*.
1338
- #
1339
- # If you specify the `ClassicLinkVPCId` parameter, you must specify this
1340
- # parameter.
1341
- #
1368
+ # *EC2-Classic retires on August 15, 2022. This property is not
1369
+ # supported after that date.*
1342
1370
  #
1371
+ # The IDs of one or more security groups for the specified
1372
+ # ClassicLink-enabled VPC.
1343
1373
  #
1344
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1345
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1374
+ # If you specify the `ClassicLinkVPCId` property, you must specify
1375
+ # `ClassicLinkVPCSecurityGroups`.
1346
1376
  #
1347
1377
  # @option params [String] :user_data
1348
1378
  # The user data to make available to the launched EC2 instances. For
@@ -1369,20 +1399,16 @@ module Aws::AutoScaling
1369
1399
  # For more information, see [Creating a launch configuration using an
1370
1400
  # EC2 instance][1] in the *Amazon EC2 Auto Scaling User Guide*.
1371
1401
  #
1372
- # If you do not specify `InstanceId`, you must specify both `ImageId`
1373
- # and `InstanceType`.
1374
- #
1375
1402
  #
1376
1403
  #
1377
1404
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-lc-with-instanceID.html
1378
1405
  #
1379
1406
  # @option params [String] :instance_type
1380
- # Specifies the instance type of the EC2 instance.
1381
- #
1382
- # For information about available instance types, see [Available
1383
- # Instance Types][1] in the *Amazon EC2 User Guide for Linux Instances*.
1407
+ # Specifies the instance type of the EC2 instance. For information about
1408
+ # available instance types, see [Available instance types][1] in the
1409
+ # *Amazon EC2 User Guide for Linux Instances*.
1384
1410
  #
1385
- # If you do not specify `InstanceId`, you must specify `InstanceType`.
1411
+ # If you specify `InstanceId`, an `InstanceType` is not required.
1386
1412
  #
1387
1413
  #
1388
1414
  #
@@ -1391,13 +1417,34 @@ module Aws::AutoScaling
1391
1417
  # @option params [String] :kernel_id
1392
1418
  # The ID of the kernel associated with the AMI.
1393
1419
  #
1420
+ # <note markdown="1"> We recommend that you use PV-GRUB instead of kernels and RAM disks.
1421
+ # For more information, see [User provided kernels][1] in the *Amazon
1422
+ # EC2 User Guide for Linux Instances*.
1423
+ #
1424
+ # </note>
1425
+ #
1426
+ #
1427
+ #
1428
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1429
+ #
1394
1430
  # @option params [String] :ramdisk_id
1395
1431
  # The ID of the RAM disk to select.
1396
1432
  #
1433
+ # <note markdown="1"> We recommend that you use PV-GRUB instead of kernels and RAM disks.
1434
+ # For more information, see [User provided kernels][1] in the *Amazon
1435
+ # EC2 User Guide for Linux Instances*.
1436
+ #
1437
+ # </note>
1438
+ #
1439
+ #
1440
+ #
1441
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1442
+ #
1397
1443
  # @option params [Array<Types::BlockDeviceMapping>] :block_device_mappings
1398
- # A block device mapping, which specifies the block devices for the
1399
- # instance. You can specify virtual devices and EBS volumes. For more
1400
- # information, see [Block Device Mapping][1] in the *Amazon EC2 User
1444
+ # The block device mapping entries that define the block devices to
1445
+ # attach to the instances at launch. By default, the block devices
1446
+ # specified in the block device mapping for the AMI are used. For more
1447
+ # information, see [Block device mappings][1] in the *Amazon EC2 User
1401
1448
  # Guide for Linux Instances*.
1402
1449
  #
1403
1450
  #
@@ -1424,8 +1471,10 @@ module Aws::AutoScaling
1424
1471
  # The maximum hourly price to be paid for any Spot Instance launched to
1425
1472
  # fulfill the request. Spot Instances are launched when the price you
1426
1473
  # specify exceeds the current Spot price. For more information, see
1427
- # [Requesting Spot Instances][1] in the *Amazon EC2 Auto Scaling User
1428
- # Guide*.
1474
+ # [Request Spot Instances for fault-tolerant and flexible
1475
+ # applications][1] in the *Amazon EC2 Auto Scaling User Guide*.
1476
+ #
1477
+ # Valid Range: Minimum value of 0.001
1429
1478
  #
1430
1479
  # <note markdown="1"> When you change your maximum price by creating a new launch
1431
1480
  # configuration, running instances will continue to run as long as the
@@ -1436,15 +1485,14 @@ module Aws::AutoScaling
1436
1485
  #
1437
1486
  #
1438
1487
  #
1439
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html
1488
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-template-spot-instances.html
1440
1489
  #
1441
1490
  # @option params [String] :iam_instance_profile
1442
1491
  # The name or the Amazon Resource Name (ARN) of the instance profile
1443
1492
  # associated with the IAM role for the instance. The instance profile
1444
- # contains the IAM role.
1445
- #
1446
- # For more information, see [IAM role for applications that run on
1447
- # Amazon EC2 instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1493
+ # contains the IAM role. For more information, see [IAM role for
1494
+ # applications that run on Amazon EC2 instances][1] in the *Amazon EC2
1495
+ # Auto Scaling User Guide*.
1448
1496
  #
1449
1497
  #
1450
1498
  #
@@ -1467,45 +1515,40 @@ module Aws::AutoScaling
1467
1515
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
1468
1516
  #
1469
1517
  # @option params [Boolean] :associate_public_ip_address
1470
- # For Auto Scaling groups that are running in a virtual private cloud
1471
- # (VPC), specifies whether to assign a public IP address to the group's
1472
- # instances. If you specify `true`, each instance in the Auto Scaling
1473
- # group receives a unique public IP address. For more information, see
1518
+ # Specifies whether to assign a public IPv4 address to the group's
1519
+ # instances. If the instance is launched into a default subnet, the
1520
+ # default is to assign a public IPv4 address, unless you disabled the
1521
+ # option to assign a public IPv4 address on the subnet. If the instance
1522
+ # is launched into a nondefault subnet, the default is not to assign a
1523
+ # public IPv4 address, unless you enabled the option to assign a public
1524
+ # IPv4 address on the subnet.
1525
+ #
1526
+ # If you specify `true`, each instance in the Auto Scaling group
1527
+ # receives a unique public IPv4 address. For more information, see
1474
1528
  # [Launching Auto Scaling instances in a VPC][1] in the *Amazon EC2 Auto
1475
1529
  # Scaling User Guide*.
1476
1530
  #
1477
- # If you specify this parameter, you must specify at least one subnet
1478
- # for `VPCZoneIdentifier` when you create your group.
1479
- #
1480
- # <note markdown="1"> If the instance is launched into a default subnet, the default is to
1481
- # assign a public IP address, unless you disabled the option to assign a
1482
- # public IP address on the subnet. If the instance is launched into a
1483
- # nondefault subnet, the default is not to assign a public IP address,
1484
- # unless you enabled the option to assign a public IP address on the
1485
- # subnet.
1486
- #
1487
- # </note>
1531
+ # If you specify this property, you must specify at least one subnet for
1532
+ # `VPCZoneIdentifier` when you create your group.
1488
1533
  #
1489
1534
  #
1490
1535
  #
1491
1536
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html
1492
1537
  #
1493
1538
  # @option params [String] :placement_tenancy
1494
- # The tenancy of the instance. An instance with `dedicated` tenancy runs
1495
- # on isolated, single-tenant hardware and can only be launched into a
1496
- # VPC.
1497
- #
1498
- # To launch dedicated instances into a shared tenancy VPC (a VPC with
1499
- # the instance placement tenancy attribute set to `default`), you must
1500
- # set the value of this parameter to `dedicated`.
1539
+ # The tenancy of the instance, either `default` or `dedicated`. An
1540
+ # instance with `dedicated` tenancy runs on isolated, single-tenant
1541
+ # hardware and can only be launched into a VPC. To launch dedicated
1542
+ # instances into a shared tenancy VPC (a VPC with the instance placement
1543
+ # tenancy attribute set to `default`), you must set the value of this
1544
+ # property to `dedicated`. For more information, see [Configuring
1545
+ # instance tenancy with Amazon EC2 Auto Scaling][1] in the *Amazon EC2
1546
+ # Auto Scaling User Guide*.
1501
1547
  #
1502
1548
  # If you specify `PlacementTenancy`, you must specify at least one
1503
1549
  # subnet for `VPCZoneIdentifier` when you create your group.
1504
1550
  #
1505
- # For more information, see [Configuring instance tenancy with Amazon
1506
- # EC2 Auto Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
1507
- #
1508
- # Valid Values: `default` \| `dedicated`
1551
+ # Valid values: `default` \| `dedicated`
1509
1552
  #
1510
1553
  #
1511
1554
  #
@@ -1597,12 +1640,12 @@ module Aws::AutoScaling
1597
1640
  # overwrites the previous tag definition, and you do not get an error
1598
1641
  # message.
1599
1642
  #
1600
- # For more information, see [Tagging Auto Scaling groups and
1601
- # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1643
+ # For more information, see [Tag Auto Scaling groups and instances][1]
1644
+ # in the *Amazon EC2 Auto Scaling User Guide*.
1602
1645
  #
1603
1646
  #
1604
1647
  #
1605
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
1648
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
1606
1649
  #
1607
1650
  # @option params [required, Array<Types::Tag>] :tags
1608
1651
  # One or more tags.
@@ -1680,8 +1723,8 @@ module Aws::AutoScaling
1680
1723
  # @option params [Boolean] :force_delete
1681
1724
  # Specifies that the group is to be deleted along with all instances
1682
1725
  # associated with the group, without waiting for all instances to be
1683
- # terminated. This parameter also deletes any outstanding lifecycle
1684
- # actions associated with the group.
1726
+ # terminated. This action also deletes any outstanding lifecycle actions
1727
+ # associated with the group.
1685
1728
  #
1686
1729
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1687
1730
  #
@@ -2001,12 +2044,12 @@ module Aws::AutoScaling
2001
2044
  # When you establish an Amazon Web Services account, the account has
2002
2045
  # initial quotas on the maximum number of Auto Scaling groups and launch
2003
2046
  # configurations that you can create in a given Region. For more
2004
- # information, see [Amazon EC2 Auto Scaling service quotas][1] in the
2047
+ # information, see [Quotas for Amazon EC2 Auto Scaling][1] in the
2005
2048
  # *Amazon EC2 Auto Scaling User Guide*.
2006
2049
  #
2007
2050
  #
2008
2051
  #
2009
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html
2052
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
2010
2053
  #
2011
2054
  # @return [Types::DescribeAccountLimitsAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2012
2055
  #
@@ -2116,9 +2159,9 @@ module Aws::AutoScaling
2116
2159
  # @option params [Array<String>] :auto_scaling_group_names
2117
2160
  # The names of the Auto Scaling groups. By default, you can only specify
2118
2161
  # up to 50 names. You can optionally increase this limit using the
2119
- # `MaxRecords` parameter.
2162
+ # `MaxRecords` property.
2120
2163
  #
2121
- # If you omit this parameter, all Auto Scaling groups are described.
2164
+ # If you omit this property, all Auto Scaling groups are described.
2122
2165
  #
2123
2166
  # @option params [String] :next_token
2124
2167
  # The token for the next set of items to return. (You received this
@@ -2284,7 +2327,7 @@ module Aws::AutoScaling
2284
2327
  # resp.auto_scaling_groups[0].instances[0].instance_id #=> String
2285
2328
  # resp.auto_scaling_groups[0].instances[0].instance_type #=> String
2286
2329
  # resp.auto_scaling_groups[0].instances[0].availability_zone #=> String
2287
- # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
2330
+ # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running", "Warmed:Hibernated"
2288
2331
  # resp.auto_scaling_groups[0].instances[0].health_status #=> String
2289
2332
  # resp.auto_scaling_groups[0].instances[0].launch_configuration_name #=> String
2290
2333
  # resp.auto_scaling_groups[0].instances[0].launch_template.launch_template_id #=> String
@@ -2316,11 +2359,13 @@ module Aws::AutoScaling
2316
2359
  # resp.auto_scaling_groups[0].capacity_rebalance #=> Boolean
2317
2360
  # resp.auto_scaling_groups[0].warm_pool_configuration.max_group_prepared_capacity #=> Integer
2318
2361
  # resp.auto_scaling_groups[0].warm_pool_configuration.min_size #=> Integer
2319
- # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
2362
+ # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running", "Hibernated"
2320
2363
  # resp.auto_scaling_groups[0].warm_pool_configuration.status #=> String, one of "PendingDelete"
2364
+ # resp.auto_scaling_groups[0].warm_pool_configuration.instance_reuse_policy.reuse_on_scale_in #=> Boolean
2321
2365
  # resp.auto_scaling_groups[0].warm_pool_size #=> Integer
2322
2366
  # resp.auto_scaling_groups[0].context #=> String
2323
2367
  # resp.auto_scaling_groups[0].desired_capacity_type #=> String
2368
+ # resp.auto_scaling_groups[0].default_instance_warmup #=> Integer
2324
2369
  # resp.next_token #=> String
2325
2370
  #
2326
2371
  #
@@ -2343,7 +2388,7 @@ module Aws::AutoScaling
2343
2388
  # Region.
2344
2389
  #
2345
2390
  # @option params [Array<String>] :instance_ids
2346
- # The IDs of the instances. If you omit this parameter, all Auto Scaling
2391
+ # The IDs of the instances. If you omit this property, all Auto Scaling
2347
2392
  # instances are described. If you specify an ID that does not exist, it
2348
2393
  # is ignored with no error.
2349
2394
  #
@@ -2649,7 +2694,7 @@ module Aws::AutoScaling
2649
2694
  # Region.
2650
2695
  #
2651
2696
  # @option params [Array<String>] :launch_configuration_names
2652
- # The launch configuration names. If you omit this parameter, all launch
2697
+ # The launch configuration names. If you omit this property, all launch
2653
2698
  # configurations are described.
2654
2699
  #
2655
2700
  # Array Members: Maximum number of 50 items.
@@ -2808,7 +2853,7 @@ module Aws::AutoScaling
2808
2853
  # The name of the Auto Scaling group.
2809
2854
  #
2810
2855
  # @option params [Array<String>] :lifecycle_hook_names
2811
- # The names of one or more lifecycle hooks. If you omit this parameter,
2856
+ # The names of one or more lifecycle hooks. If you omit this property,
2812
2857
  # all lifecycle hooks are described.
2813
2858
  #
2814
2859
  # @return [Types::DescribeLifecycleHooksAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2869,12 +2914,12 @@ module Aws::AutoScaling
2869
2914
  req.send_request(options)
2870
2915
  end
2871
2916
 
2872
- # Gets information about the load balancer target groups for the
2873
- # specified Auto Scaling group.
2917
+ # Gets information about the Elastic Load Balancing target groups for
2918
+ # the specified Auto Scaling group.
2874
2919
  #
2875
- # To determine the availability of registered instances, use the `State`
2876
- # element in the response. When you attach a target group to an Auto
2877
- # Scaling group, the initial `State` value is `Adding`. The state
2920
+ # To determine the attachment status of the target group, use the
2921
+ # `State` element in the response. When you attach a target group to an
2922
+ # Auto Scaling group, the initial `State` value is `Adding`. The state
2878
2923
  # transitions to `Added` after all Auto Scaling instances are registered
2879
2924
  # with the target group. If Elastic Load Balancing health checks are
2880
2925
  # enabled for the Auto Scaling group, the state transitions to
@@ -2892,8 +2937,9 @@ module Aws::AutoScaling
2892
2937
  #
2893
2938
  # For help with failed health checks, see [Troubleshooting Amazon EC2
2894
2939
  # Auto Scaling: Health checks][1] in the *Amazon EC2 Auto Scaling User
2895
- # Guide*. For more information, see [Elastic Load Balancing and Amazon
2896
- # EC2 Auto Scaling][2] in the *Amazon EC2 Auto Scaling User Guide*.
2940
+ # Guide*. For more information, see [Use Elastic Load Balancing to
2941
+ # distribute traffic across the instances in your Auto Scaling group][2]
2942
+ # in the *Amazon EC2 Auto Scaling User Guide*.
2897
2943
  #
2898
2944
  #
2899
2945
  #
@@ -2964,11 +3010,11 @@ module Aws::AutoScaling
2964
3010
  #
2965
3011
  # This operation describes only Classic Load Balancers. If you have
2966
3012
  # Application Load Balancers, Network Load Balancers, or Gateway Load
2967
- # Balancers, use the DescribeLoadBalancerTargetGroups API instead.
3013
+ # Balancer, use the DescribeLoadBalancerTargetGroups API instead.
2968
3014
  #
2969
- # To determine the availability of registered instances, use the `State`
2970
- # element in the response. When you attach a load balancer to an Auto
2971
- # Scaling group, the initial `State` value is `Adding`. The state
3015
+ # To determine the attachment status of the load balancer, use the
3016
+ # `State` element in the response. When you attach a load balancer to an
3017
+ # Auto Scaling group, the initial `State` value is `Adding`. The state
2972
3018
  # transitions to `Added` after all Auto Scaling instances are registered
2973
3019
  # with the load balancer. If Elastic Load Balancing health checks are
2974
3020
  # enabled for the Auto Scaling group, the state transitions to
@@ -2986,8 +3032,9 @@ module Aws::AutoScaling
2986
3032
  #
2987
3033
  # For help with failed health checks, see [Troubleshooting Amazon EC2
2988
3034
  # Auto Scaling: Health checks][1] in the *Amazon EC2 Auto Scaling User
2989
- # Guide*. For more information, see [Elastic Load Balancing and Amazon
2990
- # EC2 Auto Scaling][2] in the *Amazon EC2 Auto Scaling User Guide*.
3035
+ # Guide*. For more information, see [Use Elastic Load Balancing to
3036
+ # distribute traffic across the instances in your Auto Scaling group][2]
3037
+ # in the *Amazon EC2 Auto Scaling User Guide*.
2991
3038
  #
2992
3039
  #
2993
3040
  #
@@ -3056,10 +3103,6 @@ module Aws::AutoScaling
3056
3103
  # Describes the available CloudWatch metrics for Amazon EC2 Auto
3057
3104
  # Scaling.
3058
3105
  #
3059
- # The `GroupStandbyInstances` metric is not returned by default. You
3060
- # must explicitly request this metric when calling the
3061
- # EnableMetricsCollection API.
3062
- #
3063
3106
  # @return [Types::DescribeMetricCollectionTypesAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3064
3107
  #
3065
3108
  # * {Types::DescribeMetricCollectionTypesAnswer#metrics #metrics} => Array&lt;Types::MetricCollectionType&gt;
@@ -3203,7 +3246,7 @@ module Aws::AutoScaling
3203
3246
  # The name of the Auto Scaling group.
3204
3247
  #
3205
3248
  # @option params [Array<String>] :policy_names
3206
- # The names of one or more policies. If you omit this parameter, all
3249
+ # The names of one or more policies. If you omit this property, all
3207
3250
  # policies are described. If a group name is provided, the results are
3208
3251
  # limited to that group. If you specify an unknown policy name, it is
3209
3252
  # ignored with no error.
@@ -3389,7 +3432,7 @@ module Aws::AutoScaling
3389
3432
  #
3390
3433
  # @option params [Array<String>] :activity_ids
3391
3434
  # The activity IDs of the desired scaling activities. If you omit this
3392
- # parameter, all activities for the past six weeks are described. If
3435
+ # property, all activities for the past six weeks are described. If
3393
3436
  # unknown activities are requested, they are ignored with no error. If
3394
3437
  # you specify an Auto Scaling group, the results are limited to that
3395
3438
  # group.
@@ -3549,19 +3592,19 @@ module Aws::AutoScaling
3549
3592
  # The name of the Auto Scaling group.
3550
3593
  #
3551
3594
  # @option params [Array<String>] :scheduled_action_names
3552
- # The names of one or more scheduled actions. If you omit this
3553
- # parameter, all scheduled actions are described. If you specify an
3554
- # unknown scheduled action, it is ignored with no error.
3595
+ # The names of one or more scheduled actions. If you omit this property,
3596
+ # all scheduled actions are described. If you specify an unknown
3597
+ # scheduled action, it is ignored with no error.
3555
3598
  #
3556
3599
  # Array Members: Maximum number of 50 actions.
3557
3600
  #
3558
3601
  # @option params [Time,DateTime,Date,Integer,String] :start_time
3559
3602
  # The earliest scheduled start time to return. If scheduled action names
3560
- # are provided, this parameter is ignored.
3603
+ # are provided, this property is ignored.
3561
3604
  #
3562
3605
  # @option params [Time,DateTime,Date,Integer,String] :end_time
3563
3606
  # The latest scheduled start time to return. If scheduled action names
3564
- # are provided, this parameter is ignored.
3607
+ # are provided, this property is ignored.
3565
3608
  #
3566
3609
  # @option params [String] :next_token
3567
3610
  # The token for the next set of items to return. (You received this
@@ -3651,12 +3694,12 @@ module Aws::AutoScaling
3651
3694
  # for a particular tag only if it matches all the filters. If there's
3652
3695
  # no match, no special message is returned.
3653
3696
  #
3654
- # For more information, see [Tagging Auto Scaling groups and
3655
- # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
3697
+ # For more information, see [Tag Auto Scaling groups and instances][1]
3698
+ # in the *Amazon EC2 Auto Scaling User Guide*.
3656
3699
  #
3657
3700
  #
3658
3701
  #
3659
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
3702
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
3660
3703
  #
3661
3704
  # @option params [Array<Types::Filter>] :filters
3662
3705
  # One or more filters to scope the tags to return. The maximum number of
@@ -3748,13 +3791,12 @@ module Aws::AutoScaling
3748
3791
  # Describes the termination policies supported by Amazon EC2 Auto
3749
3792
  # Scaling.
3750
3793
  #
3751
- # For more information, see [Controlling which Auto Scaling instances
3752
- # terminate during scale in][1] in the *Amazon EC2 Auto Scaling User
3753
- # Guide*.
3794
+ # For more information, see [Work with Amazon EC2 Auto Scaling
3795
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User Guide*.
3754
3796
  #
3755
3797
  #
3756
3798
  #
3757
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
3799
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
3758
3800
  #
3759
3801
  # @return [Types::DescribeTerminationPolicyTypesAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3760
3802
  #
@@ -3831,13 +3873,14 @@ module Aws::AutoScaling
3831
3873
  #
3832
3874
  # resp.warm_pool_configuration.max_group_prepared_capacity #=> Integer
3833
3875
  # resp.warm_pool_configuration.min_size #=> Integer
3834
- # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
3876
+ # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running", "Hibernated"
3835
3877
  # resp.warm_pool_configuration.status #=> String, one of "PendingDelete"
3878
+ # resp.warm_pool_configuration.instance_reuse_policy.reuse_on_scale_in #=> Boolean
3836
3879
  # resp.instances #=> Array
3837
3880
  # resp.instances[0].instance_id #=> String
3838
3881
  # resp.instances[0].instance_type #=> String
3839
3882
  # resp.instances[0].availability_zone #=> String
3840
- # resp.instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
3883
+ # resp.instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running", "Warmed:Hibernated"
3841
3884
  # resp.instances[0].health_status #=> String
3842
3885
  # resp.instances[0].launch_configuration_name #=> String
3843
3886
  # resp.instances[0].launch_template.launch_template_id #=> String
@@ -3956,6 +3999,12 @@ module Aws::AutoScaling
3956
3999
  # Detaches one or more target groups from the specified Auto Scaling
3957
4000
  # group.
3958
4001
  #
4002
+ # When you detach a target group, it enters the `Removing` state while
4003
+ # deregistering the instances in the group. When all instances are
4004
+ # deregistered, then you can no longer describe the target group using
4005
+ # the DescribeLoadBalancerTargetGroups API call. The instances remain
4006
+ # running.
4007
+ #
3959
4008
  # @option params [required, String] :auto_scaling_group_name
3960
4009
  # The name of the Auto Scaling group.
3961
4010
  #
@@ -3998,7 +4047,7 @@ module Aws::AutoScaling
3998
4047
  #
3999
4048
  # This operation detaches only Classic Load Balancers. If you have
4000
4049
  # Application Load Balancers, Network Load Balancers, or Gateway Load
4001
- # Balancers, use the DetachLoadBalancerTargetGroups API instead.
4050
+ # Balancer, use the DetachLoadBalancerTargetGroups API instead.
4002
4051
  #
4003
4052
  # When you detach a load balancer, it enters the `Removing` state while
4004
4053
  # deregistering the instances in the group. When all instances are
@@ -4042,13 +4091,16 @@ module Aws::AutoScaling
4042
4091
  req.send_request(options)
4043
4092
  end
4044
4093
 
4045
- # Disables group metrics for the specified Auto Scaling group.
4094
+ # Disables group metrics collection for the specified Auto Scaling
4095
+ # group.
4046
4096
  #
4047
4097
  # @option params [required, String] :auto_scaling_group_name
4048
4098
  # The name of the Auto Scaling group.
4049
4099
  #
4050
4100
  # @option params [Array<String>] :metrics
4051
- # Specifies one or more of the following metrics:
4101
+ # Identifies the metrics to disable.
4102
+ #
4103
+ # You can specify one or more of the following metrics:
4052
4104
  #
4053
4105
  # * `GroupMinSize`
4054
4106
  #
@@ -4090,7 +4142,14 @@ module Aws::AutoScaling
4090
4142
  #
4091
4143
  # * `GroupAndWarmPoolTotalCapacity`
4092
4144
  #
4093
- # If you omit this parameter, all metrics are disabled.
4145
+ # If you omit this property, all metrics are disabled.
4146
+ #
4147
+ # For more information, see [Auto Scaling group metrics][1] in the
4148
+ # *Amazon EC2 Auto Scaling User Guide*.
4149
+ #
4150
+ #
4151
+ #
4152
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics
4094
4153
  #
4095
4154
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4096
4155
  #
@@ -4122,20 +4181,26 @@ module Aws::AutoScaling
4122
4181
  req.send_request(options)
4123
4182
  end
4124
4183
 
4125
- # Enables group metrics for the specified Auto Scaling group. For more
4126
- # information, see [Monitoring CloudWatch metrics for your Auto Scaling
4127
- # groups and instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
4184
+ # Enables group metrics collection for the specified Auto Scaling group.
4185
+ #
4186
+ # You can use these metrics to track changes in an Auto Scaling group
4187
+ # and to set alarms on threshold values. You can view group metrics
4188
+ # using the Amazon EC2 Auto Scaling console or the CloudWatch console.
4189
+ # For more information, see [Monitor CloudWatch metrics for your Auto
4190
+ # Scaling groups and instances][1] in the *Amazon EC2 Auto Scaling User
4191
+ # Guide*.
4128
4192
  #
4129
4193
  #
4130
4194
  #
4131
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html
4195
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html
4132
4196
  #
4133
4197
  # @option params [required, String] :auto_scaling_group_name
4134
4198
  # The name of the Auto Scaling group.
4135
4199
  #
4136
4200
  # @option params [Array<String>] :metrics
4137
- # Specifies which group-level metrics to start collecting. You can
4138
- # specify one or more of the following metrics:
4201
+ # Identifies the metrics to enable.
4202
+ #
4203
+ # You can specify one or more of the following metrics:
4139
4204
  #
4140
4205
  # * `GroupMinSize`
4141
4206
  #
@@ -4153,9 +4218,6 @@ module Aws::AutoScaling
4153
4218
  #
4154
4219
  # * `GroupTotalInstances`
4155
4220
  #
4156
- # The instance weighting feature supports the following additional
4157
- # metrics:
4158
- #
4159
4221
  # * `GroupInServiceCapacity`
4160
4222
  #
4161
4223
  # * `GroupPendingCapacity`
@@ -4166,8 +4228,6 @@ module Aws::AutoScaling
4166
4228
  #
4167
4229
  # * `GroupTotalCapacity`
4168
4230
  #
4169
- # The warm pools feature supports the following additional metrics:
4170
- #
4171
4231
  # * `WarmPoolDesiredCapacity`
4172
4232
  #
4173
4233
  # * `WarmPoolWarmedCapacity`
@@ -4182,11 +4242,19 @@ module Aws::AutoScaling
4182
4242
  #
4183
4243
  # * `GroupAndWarmPoolTotalCapacity`
4184
4244
  #
4185
- # If you omit this parameter, all metrics are enabled.
4245
+ # If you specify `Granularity` and don't specify any metrics, all
4246
+ # metrics are enabled.
4247
+ #
4248
+ # For more information, see [Auto Scaling group metrics][1] in the
4249
+ # *Amazon EC2 Auto Scaling User Guide*.
4250
+ #
4251
+ #
4252
+ #
4253
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics
4186
4254
  #
4187
4255
  # @option params [required, String] :granularity
4188
- # The granularity to associate with the metrics to collect. The only
4189
- # valid value is `1Minute`.
4256
+ # The frequency at which Amazon EC2 Auto Scaling sends aggregated data
4257
+ # to CloudWatch. The only valid value is `1Minute`.
4190
4258
  #
4191
4259
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4192
4260
  #
@@ -4588,30 +4656,34 @@ module Aws::AutoScaling
4588
4656
  # Creates or updates a lifecycle hook for the specified Auto Scaling
4589
4657
  # group.
4590
4658
  #
4591
- # A lifecycle hook enables an Auto Scaling group to be aware of events
4592
- # in the Auto Scaling instance lifecycle, and then perform a custom
4593
- # action when the corresponding lifecycle event occurs.
4659
+ # Lifecycle hooks let you create solutions that are aware of events in
4660
+ # the Auto Scaling instance lifecycle, and then perform a custom action
4661
+ # on instances when the corresponding lifecycle event occurs.
4594
4662
  #
4595
4663
  # This step is a part of the procedure for adding a lifecycle hook to an
4596
4664
  # Auto Scaling group:
4597
4665
  #
4598
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
4599
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
4600
- # Scaling launches or terminates instances.
4666
+ # 1. (Optional) Create a launch template or launch configuration with a
4667
+ # user data script that runs while an instance is in a wait state
4668
+ # due to a lifecycle hook.
4669
+ #
4670
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
4671
+ # EventBridge to invoke your Lambda function when an instance is put
4672
+ # into a wait state due to a lifecycle hook.
4601
4673
  #
4602
- # 2. (Optional) Create a notification target and an IAM role. The
4674
+ # 3. (Optional) Create a notification target and an IAM role. The
4603
4675
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
4604
4676
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
4605
4677
  # notifications to the target.
4606
4678
  #
4607
- # 3. **Create the lifecycle hook. Specify whether the hook is used when
4679
+ # 4. **Create the lifecycle hook. Specify whether the hook is used when
4608
4680
  # the instances launch or terminate.**
4609
4681
  #
4610
- # 4. If you need more time, record the lifecycle action heartbeat to
4611
- # keep the instance in a pending state using the
4682
+ # 5. If you need more time, record the lifecycle action heartbeat to
4683
+ # keep the instance in a wait state using the
4612
4684
  # RecordLifecycleActionHeartbeat API call.
4613
4685
  #
4614
- # 5. If you finish before the timeout period ends, send a callback by
4686
+ # 6. If you finish before the timeout period ends, send a callback by
4615
4687
  # using the CompleteLifecycleAction API call.
4616
4688
  #
4617
4689
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -4636,29 +4708,31 @@ module Aws::AutoScaling
4636
4708
  # The name of the Auto Scaling group.
4637
4709
  #
4638
4710
  # @option params [String] :lifecycle_transition
4639
- # The instance state to which you want to attach the lifecycle hook. The
4640
- # valid values are:
4711
+ # The lifecycle transition. For Auto Scaling groups, there are two major
4712
+ # lifecycle transitions.
4641
4713
  #
4642
- # * autoscaling:EC2\_INSTANCE\_LAUNCHING
4714
+ # * To create a lifecycle hook for scale-out events, specify
4715
+ # `autoscaling:EC2_INSTANCE_LAUNCHING`.
4643
4716
  #
4644
- # * autoscaling:EC2\_INSTANCE\_TERMINATING
4717
+ # * To create a lifecycle hook for scale-in events, specify
4718
+ # `autoscaling:EC2_INSTANCE_TERMINATING`.
4645
4719
  #
4646
4720
  # Required for new lifecycle hooks, but optional when updating existing
4647
4721
  # hooks.
4648
4722
  #
4649
4723
  # @option params [String] :role_arn
4650
4724
  # The ARN of the IAM role that allows the Auto Scaling group to publish
4651
- # to the specified notification target, for example, an Amazon SNS topic
4652
- # or an Amazon SQS queue.
4725
+ # to the specified notification target.
4653
4726
  #
4654
- # Required for new lifecycle hooks, but optional when updating existing
4655
- # hooks.
4727
+ # Valid only if the notification target is an Amazon SNS topic or an
4728
+ # Amazon SQS queue. Required for new lifecycle hooks, but optional when
4729
+ # updating existing hooks.
4656
4730
  #
4657
4731
  # @option params [String] :notification_target_arn
4658
- # The ARN of the notification target that Amazon EC2 Auto Scaling uses
4659
- # to notify you when an instance is in the transition state for the
4660
- # lifecycle hook. This target can be either an SQS queue or an SNS
4661
- # topic.
4732
+ # The Amazon Resource Name (ARN) of the notification target that Amazon
4733
+ # EC2 Auto Scaling uses to notify you when an instance is in a wait
4734
+ # state for the lifecycle hook. You can specify either an Amazon SNS
4735
+ # topic or an Amazon SQS queue.
4662
4736
  #
4663
4737
  # If you specify an empty string, this overrides the current ARN.
4664
4738
  #
@@ -4679,30 +4753,26 @@ module Aws::AutoScaling
4679
4753
  # hook times out. The range is from `30` to `7200` seconds. The default
4680
4754
  # value is `3600` seconds (1 hour).
4681
4755
  #
4682
- # If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the
4683
- # action that you specified in the `DefaultResult` parameter. You can
4684
- # prevent the lifecycle hook from timing out by calling the
4685
- # RecordLifecycleActionHeartbeat API.
4686
- #
4687
4756
  # @option params [String] :default_result
4688
- # Defines the action the Auto Scaling group should take when the
4689
- # lifecycle hook timeout elapses or if an unexpected failure occurs.
4690
- # This parameter can be either `CONTINUE` or `ABANDON`. The default
4691
- # value is `ABANDON`.
4757
+ # The action the Auto Scaling group takes when the lifecycle hook
4758
+ # timeout elapses or if an unexpected failure occurs. The default value
4759
+ # is `ABANDON`.
4760
+ #
4761
+ # Valid values: `CONTINUE` \| `ABANDON`
4692
4762
  #
4693
4763
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4694
4764
  #
4695
4765
  #
4696
- # @example Example: To create a lifecycle hook
4766
+ # @example Example: To create a launch lifecycle hook
4697
4767
  #
4698
- # # This example creates a lifecycle hook.
4768
+ # # This example creates a lifecycle hook for instance launch.
4699
4769
  #
4700
4770
  # resp = client.put_lifecycle_hook({
4701
4771
  # auto_scaling_group_name: "my-auto-scaling-group",
4702
- # lifecycle_hook_name: "my-lifecycle-hook",
4772
+ # default_result: "CONTINUE",
4773
+ # heartbeat_timeout: 300,
4774
+ # lifecycle_hook_name: "my-launch-lifecycle-hook",
4703
4775
  # lifecycle_transition: "autoscaling:EC2_INSTANCE_LAUNCHING",
4704
- # notification_target_arn: "arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn",
4705
- # role_arn: "arn:aws:iam::123456789012:role/my-auto-scaling-role",
4706
4776
  # })
4707
4777
  #
4708
4778
  # @example Request syntax with placeholder values
@@ -4878,14 +4948,16 @@ module Aws::AutoScaling
4878
4948
  # other policy type.)
4879
4949
  #
4880
4950
  # @option params [Integer] :cooldown
4881
- # The duration of the policy's cooldown period, in seconds. When a
4882
- # cooldown period is specified here, it overrides the default cooldown
4883
- # period defined for the Auto Scaling group.
4951
+ # A cooldown period, in seconds, that applies to a specific simple
4952
+ # scaling policy. When a cooldown period is specified here, it overrides
4953
+ # the default cooldown.
4884
4954
  #
4885
4955
  # Valid only if the policy type is `SimpleScaling`. For more
4886
4956
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
4887
4957
  # the *Amazon EC2 Auto Scaling User Guide*.
4888
4958
  #
4959
+ # Default: None
4960
+ #
4889
4961
  #
4890
4962
  #
4891
4963
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
@@ -4905,14 +4977,23 @@ module Aws::AutoScaling
4905
4977
  # policy type.)
4906
4978
  #
4907
4979
  # @option params [Integer] :estimated_instance_warmup
4980
+ # *Not needed if the default instance warmup is defined for the group.*
4981
+ #
4908
4982
  # The estimated time, in seconds, until a newly launched instance can
4909
- # contribute to the CloudWatch metrics. If not provided, the default is
4910
- # to use the value from the default cooldown period for the Auto Scaling
4911
- # group.
4983
+ # contribute to the CloudWatch metrics. This warm-up period applies to
4984
+ # instances launched due to a specific target tracking or step scaling
4985
+ # policy. When a warm-up period is specified here, it overrides the
4986
+ # default instance warmup.
4912
4987
  #
4913
4988
  # Valid only if the policy type is `TargetTrackingScaling` or
4914
4989
  # `StepScaling`.
4915
4990
  #
4991
+ # <note markdown="1"> The default is to use the value for the default instance warmup
4992
+ # defined for the group. If default instance warmup is null, then
4993
+ # `EstimatedInstanceWarmup` falls back to the value of default cooldown.
4994
+ #
4995
+ # </note>
4996
+ #
4916
4997
  # @option params [Types::TargetTrackingConfiguration] :target_tracking_configuration
4917
4998
  # A target tracking scaling policy. Provides support for predefined or
4918
4999
  # custom metrics.
@@ -4928,7 +5009,7 @@ module Aws::AutoScaling
4928
5009
  # * `ALBRequestCountPerTarget`
4929
5010
  #
4930
5011
  # If you specify `ALBRequestCountPerTarget` for the metric, you must
4931
- # specify the `ResourceLabel` parameter with the
5012
+ # specify the `ResourceLabel` property with the
4932
5013
  # `PredefinedMetricSpecification`.
4933
5014
  #
4934
5015
  # For more information, see [TargetTrackingConfiguration][1] in the
@@ -5169,6 +5250,9 @@ module Aws::AutoScaling
5169
5250
  # scheduled action, you can delete it by calling the
5170
5251
  # DeleteScheduledAction API.
5171
5252
  #
5253
+ # If you try to schedule your action in the past, Amazon EC2 Auto
5254
+ # Scaling returns an error message.
5255
+ #
5172
5256
  #
5173
5257
  #
5174
5258
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html
@@ -5180,22 +5264,20 @@ module Aws::AutoScaling
5180
5264
  # The name of this scaling action.
5181
5265
  #
5182
5266
  # @option params [Time,DateTime,Date,Integer,String] :time
5183
- # This parameter is no longer used.
5267
+ # This property is no longer used.
5184
5268
  #
5185
5269
  # @option params [Time,DateTime,Date,Integer,String] :start_time
5186
5270
  # The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ
5187
5271
  # format in UTC/GMT only and in quotes (for example,
5188
- # `"2019-06-01T00:00:00Z"`).
5272
+ # `"2021-06-01T00:00:00Z"`).
5189
5273
  #
5190
5274
  # If you specify `Recurrence` and `StartTime`, Amazon EC2 Auto Scaling
5191
5275
  # performs the action at this time, and then performs the action based
5192
5276
  # on the specified recurrence.
5193
5277
  #
5194
- # If you try to schedule your action in the past, Amazon EC2 Auto
5195
- # Scaling returns an error message.
5196
- #
5197
5278
  # @option params [Time,DateTime,Date,Integer,String] :end_time
5198
- # The date and time for the recurring schedule to end, in UTC.
5279
+ # The date and time for the recurring schedule to end, in UTC. For
5280
+ # example, `"2021-06-01T00:00:00Z"`.
5199
5281
  #
5200
5282
  # @option params [String] :recurrence
5201
5283
  # The recurring schedule for this action. This format consists of five
@@ -5225,6 +5307,11 @@ module Aws::AutoScaling
5225
5307
  # maintain. It can scale beyond this capacity if you add more scaling
5226
5308
  # conditions.
5227
5309
  #
5310
+ # <note markdown="1"> You must specify at least one of the following properties: `MaxSize`,
5311
+ # `MinSize`, or `DesiredCapacity`.
5312
+ #
5313
+ # </note>
5314
+ #
5228
5315
  # @option params [String] :time_zone
5229
5316
  # Specifies the time zone for a cron expression. If a time zone is not
5230
5317
  # provided, UTC is used by default.
@@ -5336,17 +5423,25 @@ module Aws::AutoScaling
5336
5423
  # Sets the instance state to transition to after the lifecycle actions
5337
5424
  # are complete. Default is `Stopped`.
5338
5425
  #
5426
+ # @option params [Types::InstanceReusePolicy] :instance_reuse_policy
5427
+ # Indicates whether instances in the Auto Scaling group can be returned
5428
+ # to the warm pool on scale in. The default is to terminate instances in
5429
+ # the Auto Scaling group when the group scales in.
5430
+ #
5339
5431
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5340
5432
  #
5341
5433
  #
5342
- # @example Example: To add a warm pool to an Auto Scaling group
5434
+ # @example Example: To create a warm pool for an Auto Scaling group
5343
5435
  #
5344
- # # This example adds a warm pool to the specified Auto Scaling group.
5436
+ # # This example creates a warm pool for the specified Auto Scaling group.
5345
5437
  #
5346
5438
  # resp = client.put_warm_pool({
5347
5439
  # auto_scaling_group_name: "my-auto-scaling-group",
5440
+ # instance_reuse_policy: {
5441
+ # reuse_on_scale_in: true,
5442
+ # },
5348
5443
  # min_size: 30,
5349
- # pool_state: "Stopped",
5444
+ # pool_state: "Hibernated",
5350
5445
  # })
5351
5446
  #
5352
5447
  # @example Request syntax with placeholder values
@@ -5355,7 +5450,10 @@ module Aws::AutoScaling
5355
5450
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
5356
5451
  # max_group_prepared_capacity: 1,
5357
5452
  # min_size: 1,
5358
- # pool_state: "Stopped", # accepts Stopped, Running
5453
+ # pool_state: "Stopped", # accepts Stopped, Running, Hibernated
5454
+ # instance_reuse_policy: {
5455
+ # reuse_on_scale_in: false,
5456
+ # },
5359
5457
  # })
5360
5458
  #
5361
5459
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPool AWS API Documentation
@@ -5374,22 +5472,26 @@ module Aws::AutoScaling
5374
5472
  # This step is a part of the procedure for adding a lifecycle hook to an
5375
5473
  # Auto Scaling group:
5376
5474
  #
5377
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
5378
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
5379
- # Scaling launches or terminates instances.
5475
+ # 1. (Optional) Create a launch template or launch configuration with a
5476
+ # user data script that runs while an instance is in a wait state
5477
+ # due to a lifecycle hook.
5478
+ #
5479
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
5480
+ # EventBridge to invoke your Lambda function when an instance is put
5481
+ # into a wait state due to a lifecycle hook.
5380
5482
  #
5381
- # 2. (Optional) Create a notification target and an IAM role. The
5483
+ # 3. (Optional) Create a notification target and an IAM role. The
5382
5484
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
5383
5485
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
5384
5486
  # notifications to the target.
5385
5487
  #
5386
- # 3. Create the lifecycle hook. Specify whether the hook is used when
5488
+ # 4. Create the lifecycle hook. Specify whether the hook is used when
5387
5489
  # the instances launch or terminate.
5388
5490
  #
5389
- # 4. **If you need more time, record the lifecycle action heartbeat to
5390
- # keep the instance in a pending state.**
5491
+ # 5. **If you need more time, record the lifecycle action heartbeat to
5492
+ # keep the instance in a wait state.**
5391
5493
  #
5392
- # 5. If you finish before the timeout period ends, send a callback by
5494
+ # 6. If you finish before the timeout period ends, send a callback by
5393
5495
  # using the CompleteLifecycleAction API call.
5394
5496
  #
5395
5497
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -5479,7 +5581,7 @@ module Aws::AutoScaling
5479
5581
  #
5480
5582
  # * `ScheduledActions`
5481
5583
  #
5482
- # If you omit this parameter, all processes are specified.
5584
+ # If you omit this property, all processes are specified.
5483
5585
  #
5484
5586
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5485
5587
  #
@@ -5770,9 +5872,16 @@ module Aws::AutoScaling
5770
5872
  #
5771
5873
  # resp = client.start_instance_refresh({
5772
5874
  # auto_scaling_group_name: "my-auto-scaling-group",
5875
+ # desired_configuration: {
5876
+ # launch_template: {
5877
+ # launch_template_name: "my-template-for-auto-scaling",
5878
+ # version: "$Latest",
5879
+ # },
5880
+ # },
5773
5881
  # preferences: {
5774
5882
  # instance_warmup: 400,
5775
- # min_healthy_percentage: 50,
5883
+ # min_healthy_percentage: 90,
5884
+ # skip_matching: true,
5776
5885
  # },
5777
5886
  # })
5778
5887
  #
@@ -5929,7 +6038,7 @@ module Aws::AutoScaling
5929
6038
  #
5930
6039
  # * `ScheduledActions`
5931
6040
  #
5932
- # If you omit this parameter, all processes are specified.
6041
+ # If you omit this property, all processes are specified.
5933
6042
  #
5934
6043
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5935
6044
  #
@@ -6046,7 +6155,7 @@ module Aws::AutoScaling
6046
6155
  # Updates the configuration for the specified Auto Scaling group.
6047
6156
  #
6048
6157
  # To update an Auto Scaling group, specify the name of the group and the
6049
- # parameter that you want to change. Any parameters that you don't
6158
+ # property that you want to change. Any properties that you don't
6050
6159
  # specify are not changed by this update request. The new settings take
6051
6160
  # effect on any scaling activities after this call returns.
6052
6161
  #
@@ -6082,7 +6191,7 @@ module Aws::AutoScaling
6082
6191
  # current size of the group, this sets the group's `DesiredCapacity`
6083
6192
  # to the new `MaxSize` value.
6084
6193
  #
6085
- # To see which parameters have been set, call the
6194
+ # To see which properties have been set, call the
6086
6195
  # DescribeAutoScalingGroups API. To view the scaling policies for an
6087
6196
  # Auto Scaling group, call the DescribePolicies API. If the group has
6088
6197
  # scaling policies, you can update them by calling the PutScalingPolicy
@@ -6133,10 +6242,10 @@ module Aws::AutoScaling
6133
6242
  # group.
6134
6243
  #
6135
6244
  # @option params [Integer] :default_cooldown
6136
- # The amount of time, in seconds, after a scaling activity completes
6137
- # before another scaling activity can start. The default value is `300`.
6138
- # This setting applies when using simple scaling policies, but not when
6139
- # using other scaling policies or scheduled scaling. For more
6245
+ # *Only needed if you use simple scaling policies.*
6246
+ #
6247
+ # The amount of time, in seconds, between one scaling activity ending
6248
+ # and another one starting due to simple scaling policies. For more
6140
6249
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
6141
6250
  # the *Amazon EC2 Auto Scaling User Guide*.
6142
6251
  #
@@ -6156,11 +6265,11 @@ module Aws::AutoScaling
6156
6265
  # @option params [Integer] :health_check_grace_period
6157
6266
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
6158
6267
  # before checking the health status of an EC2 instance that has come
6159
- # into service and marking it unhealthy due to a failed health check.
6160
- # The default value is `0`. For more information, see [Health check
6161
- # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
6162
- #
6163
- # Conditional: Required if you are adding an `ELB` health check.
6268
+ # into service and marking it unhealthy due to a failed Elastic Load
6269
+ # Balancing or custom health check. This is useful if your instances do
6270
+ # not immediately pass these health checks after they enter the
6271
+ # `InService` state. For more information, see [Health check grace
6272
+ # period][1] in the *Amazon EC2 Auto Scaling User Guide*.
6164
6273
  #
6165
6274
  #
6166
6275
  #
@@ -6168,11 +6277,14 @@ module Aws::AutoScaling
6168
6277
  #
6169
6278
  # @option params [String] :placement_group
6170
6279
  # The name of an existing placement group into which to launch your
6171
- # instances, if any. A placement group is a logical grouping of
6172
- # instances within a single Availability Zone. You cannot specify
6173
- # multiple Availability Zones and a placement group. For more
6174
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
6175
- # for Linux Instances*.
6280
+ # instances. For more information, see [Placement groups][1] in the
6281
+ # *Amazon EC2 User Guide for Linux Instances*.
6282
+ #
6283
+ # <note markdown="1"> A *cluster* placement group is a logical grouping of instances within
6284
+ # a single Availability Zone. You cannot specify multiple Availability
6285
+ # Zones and a cluster placement group.
6286
+ #
6287
+ # </note>
6176
6288
  #
6177
6289
  #
6178
6290
  #
@@ -6181,19 +6293,22 @@ module Aws::AutoScaling
6181
6293
  # @option params [String] :vpc_zone_identifier
6182
6294
  # A comma-separated list of subnet IDs for a virtual private cloud
6183
6295
  # (VPC). If you specify `VPCZoneIdentifier` with `AvailabilityZones`,
6184
- # the subnets that you specify for this parameter must reside in those
6185
- # Availability Zones.
6296
+ # the subnets that you specify must reside in those Availability Zones.
6186
6297
  #
6187
6298
  # @option params [Array<String>] :termination_policies
6188
6299
  # A policy or a list of policies that are used to select the instances
6189
6300
  # to terminate. The policies are executed in the order that you list
6190
- # them. For more information, see [Controlling which Auto Scaling
6191
- # instances terminate during scale in][1] in the *Amazon EC2 Auto
6192
- # Scaling User Guide*.
6301
+ # them. For more information, see [Work with Amazon EC2 Auto Scaling
6302
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User Guide*.
6303
+ #
6304
+ # Valid values: `Default` \| `AllocationStrategy` \|
6305
+ # `ClosestToNextInstanceHour` \| `NewestInstance` \| `OldestInstance` \|
6306
+ # `OldestLaunchConfiguration` \| `OldestLaunchTemplate` \|
6307
+ # `arn:aws:lambda:region:account-id:function:my-function:my-alias`
6193
6308
  #
6194
6309
  #
6195
6310
  #
6196
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
6311
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
6197
6312
  #
6198
6313
  # @option params [Boolean] :new_instances_protected_from_scale_in
6199
6314
  # Indicates whether newly launched instances are protected from
@@ -6230,8 +6345,8 @@ module Aws::AutoScaling
6230
6345
  #
6231
6346
  # @option params [Boolean] :capacity_rebalance
6232
6347
  # Enables or disables Capacity Rebalancing. For more information, see
6233
- # [Amazon EC2 Auto Scaling Capacity Rebalancing][1] in the *Amazon EC2
6234
- # Auto Scaling User Guide*.
6348
+ # [Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions][1]
6349
+ # in the *Amazon EC2 Auto Scaling User Guide*.
6235
6350
  #
6236
6351
  #
6237
6352
  #
@@ -6256,34 +6371,45 @@ module Aws::AutoScaling
6256
6371
  #
6257
6372
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
6258
6373
  #
6259
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6374
+ # @option params [Integer] :default_instance_warmup
6375
+ # The amount of time, in seconds, until a newly launched instance can
6376
+ # contribute to the Amazon CloudWatch metrics. This delay lets an
6377
+ # instance finish initializing before Amazon EC2 Auto Scaling aggregates
6378
+ # instance metrics, resulting in more reliable usage data. Set this
6379
+ # value equal to the amount of time that it takes for resource
6380
+ # consumption to become stable after an instance reaches the `InService`
6381
+ # state. For more information, see [Set the default instance warmup for
6382
+ # an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling User Guide*.
6260
6383
  #
6384
+ # To manage your warm-up settings at the group level, we recommend that
6385
+ # you set the default instance warmup, *even if its value is set to 0
6386
+ # seconds*. This also optimizes the performance of scaling policies that
6387
+ # scale continuously, such as target tracking and step scaling policies.
6261
6388
  #
6262
- # @example Example: To update the launch configuration
6389
+ # If you need to remove a value that you previously set, include the
6390
+ # property but specify `-1` for the value. However, we strongly
6391
+ # recommend keeping the default instance warmup enabled by specifying a
6392
+ # minimum value of `0`.
6263
6393
  #
6264
- # # This example updates the launch configuration of the specified Auto Scaling group.
6265
6394
  #
6266
- # resp = client.update_auto_scaling_group({
6267
- # auto_scaling_group_name: "my-auto-scaling-group",
6268
- # launch_configuration_name: "new-launch-config",
6269
- # })
6270
6395
  #
6271
- # @example Example: To update the minimum and maximum size
6396
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
6272
6397
  #
6273
- # # This example updates the minimum size and maximum size of the specified Auto Scaling group.
6398
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6274
6399
  #
6275
- # resp = client.update_auto_scaling_group({
6276
- # auto_scaling_group_name: "my-auto-scaling-group",
6277
- # max_size: 3,
6278
- # min_size: 1,
6279
- # })
6280
6400
  #
6281
- # @example Example: To enable instance protection
6401
+ # @example Example: To update an Auto Scaling group
6282
6402
  #
6283
- # # This example enables instance protection for the specified Auto Scaling group.
6403
+ # # This example updates multiple properties at the same time.
6284
6404
  #
6285
6405
  # resp = client.update_auto_scaling_group({
6286
6406
  # auto_scaling_group_name: "my-auto-scaling-group",
6407
+ # launch_template: {
6408
+ # launch_template_name: "my-template-for-auto-scaling",
6409
+ # version: "2",
6410
+ # },
6411
+ # max_size: 5,
6412
+ # min_size: 1,
6287
6413
  # new_instances_protected_from_scale_in: true,
6288
6414
  # })
6289
6415
  #
@@ -6388,6 +6514,7 @@ module Aws::AutoScaling
6388
6514
  # capacity_rebalance: false,
6389
6515
  # context: "Context",
6390
6516
  # desired_capacity_type: "XmlStringMaxLen255",
6517
+ # default_instance_warmup: 1,
6391
6518
  # })
6392
6519
  #
6393
6520
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroup AWS API Documentation
@@ -6412,7 +6539,7 @@ module Aws::AutoScaling
6412
6539
  params: params,
6413
6540
  config: config)
6414
6541
  context[:gem_name] = 'aws-sdk-autoscaling'
6415
- context[:gem_version] = '1.77.0'
6542
+ context[:gem_version] = '1.80.0'
6416
6543
  Seahorse::Client::Request.new(handlers, context)
6417
6544
  end
6418
6545