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.
@@ -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