aws-sdk-autoscaling 1.76.0 → 1.79.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,7 +27,9 @@ 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'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
31
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
32
34
  require 'aws-sdk-core/plugins/protocols/query.rb'
33
35
 
@@ -74,7 +76,9 @@ module Aws::AutoScaling
74
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
75
77
  add_plugin(Aws::Plugins::TransferEncoding)
76
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
77
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
78
82
  add_plugin(Aws::Plugins::SignatureV4)
79
83
  add_plugin(Aws::Plugins::Protocols::Query)
80
84
 
@@ -676,22 +680,26 @@ module Aws::AutoScaling
676
680
  # This step is a part of the procedure for adding a lifecycle hook to an
677
681
  # Auto Scaling group:
678
682
  #
679
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
680
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
681
- # Scaling launches or terminates instances.
683
+ # 1. (Optional) Create a launch template or launch configuration with a
684
+ # user data script that runs while an instance is in a wait state
685
+ # due to a lifecycle hook.
682
686
  #
683
- # 2. (Optional) Create a notification target and an IAM role. The
687
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
688
+ # EventBridge to invoke your Lambda function when an instance is put
689
+ # into a wait state due to a lifecycle hook.
690
+ #
691
+ # 3. (Optional) Create a notification target and an IAM role. The
684
692
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
685
693
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
686
694
  # notifications to the target.
687
695
  #
688
- # 3. Create the lifecycle hook. Specify whether the hook is used when
696
+ # 4. Create the lifecycle hook. Specify whether the hook is used when
689
697
  # the instances launch or terminate.
690
698
  #
691
- # 4. If you need more time, record the lifecycle action heartbeat to
692
- # keep the instance in a pending state.
699
+ # 5. If you need more time, record the lifecycle action heartbeat to
700
+ # keep the instance in a wait state.
693
701
  #
694
- # 5. **If you finish before the timeout period ends, send a callback by
702
+ # 6. **If you finish before the timeout period ends, send a callback by
695
703
  # using the CompleteLifecycleAction API call.**
696
704
  #
697
705
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -864,13 +872,15 @@ module Aws::AutoScaling
864
872
  # group.
865
873
  #
866
874
  # @option params [Integer] :default_cooldown
867
- # The amount of time, in seconds, after a scaling activity completes
868
- # before another scaling activity can start. The default value is `300`.
869
- # This setting applies when using simple scaling policies, but not when
870
- # using other scaling policies or scheduled scaling. For more
875
+ # *Only needed if you use simple scaling policies.*
876
+ #
877
+ # The amount of time, in seconds, between one scaling activity ending
878
+ # and another one starting due to simple scaling policies. For more
871
879
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
872
880
  # the *Amazon EC2 Auto Scaling User Guide*.
873
881
  #
882
+ # Default: `300` seconds
883
+ #
874
884
  #
875
885
  #
876
886
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
@@ -913,13 +923,17 @@ module Aws::AutoScaling
913
923
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html
914
924
  #
915
925
  # @option params [Integer] :health_check_grace_period
926
+ # **
927
+ #
916
928
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
917
929
  # before checking the health status of an EC2 instance that has come
918
- # into service and marking it unhealthy due to a failed health check.
919
- # The default value is `0`. For more information, see [Health check
920
- # 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*.
921
935
  #
922
- # Conditional: Required if you are adding an `ELB` health check.
936
+ # Default: `0` seconds
923
937
  #
924
938
  #
925
939
  #
@@ -927,11 +941,14 @@ module Aws::AutoScaling
927
941
  #
928
942
  # @option params [String] :placement_group
929
943
  # The name of an existing placement group into which to launch your
930
- # instances, if any. A placement group is a logical grouping of
931
- # instances within a single Availability Zone. You cannot specify
932
- # multiple Availability Zones and a placement group. For more
933
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
934
- # for Linux Instances*.
944
+ # instances. For more information, see [Placement groups][1] in the
945
+ # *Amazon EC2 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>
935
952
  #
936
953
  #
937
954
  #
@@ -1043,6 +1060,32 @@ module Aws::AutoScaling
1043
1060
  #
1044
1061
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
1045
1062
  #
1063
+ # @option params [Integer] :default_instance_warmup
1064
+ # The amount of time, in seconds, until a newly launched instance can
1065
+ # contribute to the Amazon CloudWatch metrics. This delay lets an
1066
+ # instance finish initializing before Amazon EC2 Auto Scaling aggregates
1067
+ # instance metrics, resulting in more reliable usage data. Set this
1068
+ # value equal to the amount of time that it takes for resource
1069
+ # consumption to become stable after an instance reaches the `InService`
1070
+ # state. For more information, see [Set the default instance warmup for
1071
+ # an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling User Guide*.
1072
+ #
1073
+ # To manage your warm-up settings at the group level, we recommend that
1074
+ # you set the default instance warmup, *even if its value is set to 0
1075
+ # seconds*. This also optimizes the performance of scaling policies that
1076
+ # scale continuously, such as target tracking and step scaling policies.
1077
+ #
1078
+ # If you need to remove a value that you previously set, include the
1079
+ # property but specify `-1` for the value. However, we strongly
1080
+ # recommend keeping the default instance warmup enabled by specifying a
1081
+ # minimum value of `0`.
1082
+ #
1083
+ # Default: None
1084
+ #
1085
+ #
1086
+ #
1087
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
1088
+ #
1046
1089
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1047
1090
  #
1048
1091
  #
@@ -1053,7 +1096,7 @@ module Aws::AutoScaling
1053
1096
  # resp = client.create_auto_scaling_group({
1054
1097
  # auto_scaling_group_name: "my-auto-scaling-group",
1055
1098
  # launch_template: {
1056
- # launch_template_id: "lt-0a20c965061f64abc",
1099
+ # launch_template_name: "my-template-for-auto-scaling",
1057
1100
  # version: "$Latest",
1058
1101
  # },
1059
1102
  # max_instance_lifetime: 2592000,
@@ -1071,8 +1114,8 @@ module Aws::AutoScaling
1071
1114
  # health_check_grace_period: 300,
1072
1115
  # health_check_type: "ELB",
1073
1116
  # launch_template: {
1074
- # launch_template_id: "lt-0a20c965061f64abc",
1075
- # version: "$Default",
1117
+ # launch_template_name: "my-template-for-auto-scaling",
1118
+ # version: "$Latest",
1076
1119
  # },
1077
1120
  # max_size: 3,
1078
1121
  # min_size: 1,
@@ -1247,6 +1290,7 @@ module Aws::AutoScaling
1247
1290
  # max_instance_lifetime: 1,
1248
1291
  # context: "Context",
1249
1292
  # desired_capacity_type: "XmlStringMaxLen255",
1293
+ # default_instance_warmup: 1,
1250
1294
  # })
1251
1295
  #
1252
1296
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroup AWS API Documentation
@@ -1314,25 +1358,24 @@ module Aws::AutoScaling
1314
1358
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
1315
1359
  #
1316
1360
  # @option params [String] :classic_link_vpc_id
1361
+ # *EC2-Classic retires on August 15, 2022. This parameter is not
1362
+ # supported after that date.*
1363
+ #
1317
1364
  # The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances
1318
1365
  # to. For more information, see [ClassicLink][1] in the *Amazon EC2 User
1319
- # Guide for Linux Instances* and [Linking EC2-Classic instances to a
1320
- # VPC][2] in the *Amazon EC2 Auto Scaling User Guide*.
1321
- #
1322
- # This parameter can only be used if you are launching EC2-Classic
1323
- # instances.
1366
+ # Guide for Linux Instances*.
1324
1367
  #
1325
1368
  #
1326
1369
  #
1327
1370
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1328
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1329
1371
  #
1330
1372
  # @option params [Array<String>] :classic_link_vpc_security_groups
1373
+ # *EC2-Classic retires on August 15, 2022. This parameter is not
1374
+ # supported after that date.*
1375
+ #
1331
1376
  # The IDs of one or more security groups for the specified
1332
1377
  # ClassicLink-enabled VPC. For more information, see [ClassicLink][1] in
1333
- # the *Amazon EC2 User Guide for Linux Instances* and [Linking
1334
- # EC2-Classic instances to a VPC][2] in the *Amazon EC2 Auto Scaling
1335
- # User Guide*.
1378
+ # the *Amazon EC2 User Guide for Linux Instances*.
1336
1379
  #
1337
1380
  # If you specify the `ClassicLinkVPCId` parameter, you must specify this
1338
1381
  # parameter.
@@ -1340,7 +1383,6 @@ module Aws::AutoScaling
1340
1383
  #
1341
1384
  #
1342
1385
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1343
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1344
1386
  #
1345
1387
  # @option params [String] :user_data
1346
1388
  # The user data to make available to the launched EC2 instances. For
@@ -2282,7 +2324,7 @@ module Aws::AutoScaling
2282
2324
  # resp.auto_scaling_groups[0].instances[0].instance_id #=> String
2283
2325
  # resp.auto_scaling_groups[0].instances[0].instance_type #=> String
2284
2326
  # resp.auto_scaling_groups[0].instances[0].availability_zone #=> String
2285
- # 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"
2327
+ # 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"
2286
2328
  # resp.auto_scaling_groups[0].instances[0].health_status #=> String
2287
2329
  # resp.auto_scaling_groups[0].instances[0].launch_configuration_name #=> String
2288
2330
  # resp.auto_scaling_groups[0].instances[0].launch_template.launch_template_id #=> String
@@ -2314,11 +2356,13 @@ module Aws::AutoScaling
2314
2356
  # resp.auto_scaling_groups[0].capacity_rebalance #=> Boolean
2315
2357
  # resp.auto_scaling_groups[0].warm_pool_configuration.max_group_prepared_capacity #=> Integer
2316
2358
  # resp.auto_scaling_groups[0].warm_pool_configuration.min_size #=> Integer
2317
- # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
2359
+ # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running", "Hibernated"
2318
2360
  # resp.auto_scaling_groups[0].warm_pool_configuration.status #=> String, one of "PendingDelete"
2361
+ # resp.auto_scaling_groups[0].warm_pool_configuration.instance_reuse_policy.reuse_on_scale_in #=> Boolean
2319
2362
  # resp.auto_scaling_groups[0].warm_pool_size #=> Integer
2320
2363
  # resp.auto_scaling_groups[0].context #=> String
2321
2364
  # resp.auto_scaling_groups[0].desired_capacity_type #=> String
2365
+ # resp.auto_scaling_groups[0].default_instance_warmup #=> Integer
2322
2366
  # resp.next_token #=> String
2323
2367
  #
2324
2368
  #
@@ -3829,13 +3873,14 @@ module Aws::AutoScaling
3829
3873
  #
3830
3874
  # resp.warm_pool_configuration.max_group_prepared_capacity #=> Integer
3831
3875
  # resp.warm_pool_configuration.min_size #=> Integer
3832
- # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
3876
+ # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running", "Hibernated"
3833
3877
  # resp.warm_pool_configuration.status #=> String, one of "PendingDelete"
3878
+ # resp.warm_pool_configuration.instance_reuse_policy.reuse_on_scale_in #=> Boolean
3834
3879
  # resp.instances #=> Array
3835
3880
  # resp.instances[0].instance_id #=> String
3836
3881
  # resp.instances[0].instance_type #=> String
3837
3882
  # resp.instances[0].availability_zone #=> String
3838
- # 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"
3839
3884
  # resp.instances[0].health_status #=> String
3840
3885
  # resp.instances[0].launch_configuration_name #=> String
3841
3886
  # resp.instances[0].launch_template.launch_template_id #=> String
@@ -4586,30 +4631,34 @@ module Aws::AutoScaling
4586
4631
  # Creates or updates a lifecycle hook for the specified Auto Scaling
4587
4632
  # group.
4588
4633
  #
4589
- # A lifecycle hook enables an Auto Scaling group to be aware of events
4590
- # in the Auto Scaling instance lifecycle, and then perform a custom
4591
- # action when the corresponding lifecycle event occurs.
4634
+ # Lifecycle hooks let you create solutions that are aware of events in
4635
+ # the Auto Scaling instance lifecycle, and then perform a custom action
4636
+ # on instances when the corresponding lifecycle event occurs.
4592
4637
  #
4593
4638
  # This step is a part of the procedure for adding a lifecycle hook to an
4594
4639
  # Auto Scaling group:
4595
4640
  #
4596
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
4597
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
4598
- # Scaling launches or terminates instances.
4641
+ # 1. (Optional) Create a launch template or launch configuration with a
4642
+ # user data script that runs while an instance is in a wait state
4643
+ # due to a lifecycle hook.
4599
4644
  #
4600
- # 2. (Optional) Create a notification target and an IAM role. The
4645
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
4646
+ # EventBridge to invoke your Lambda function when an instance is put
4647
+ # into a wait state due to a lifecycle hook.
4648
+ #
4649
+ # 3. (Optional) Create a notification target and an IAM role. The
4601
4650
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
4602
4651
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
4603
4652
  # notifications to the target.
4604
4653
  #
4605
- # 3. **Create the lifecycle hook. Specify whether the hook is used when
4654
+ # 4. **Create the lifecycle hook. Specify whether the hook is used when
4606
4655
  # the instances launch or terminate.**
4607
4656
  #
4608
- # 4. If you need more time, record the lifecycle action heartbeat to
4609
- # keep the instance in a pending state using the
4657
+ # 5. If you need more time, record the lifecycle action heartbeat to
4658
+ # keep the instance in a wait state using the
4610
4659
  # RecordLifecycleActionHeartbeat API call.
4611
4660
  #
4612
- # 5. If you finish before the timeout period ends, send a callback by
4661
+ # 6. If you finish before the timeout period ends, send a callback by
4613
4662
  # using the CompleteLifecycleAction API call.
4614
4663
  #
4615
4664
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -4646,11 +4695,11 @@ module Aws::AutoScaling
4646
4695
  #
4647
4696
  # @option params [String] :role_arn
4648
4697
  # The ARN of the IAM role that allows the Auto Scaling group to publish
4649
- # to the specified notification target, for example, an Amazon SNS topic
4650
- # or an Amazon SQS queue.
4698
+ # to the specified notification target.
4651
4699
  #
4652
- # Required for new lifecycle hooks, but optional when updating existing
4653
- # hooks.
4700
+ # Valid only if the notification target is an Amazon SNS topic or an
4701
+ # Amazon SQS queue. Required for new lifecycle hooks, but optional when
4702
+ # updating existing hooks.
4654
4703
  #
4655
4704
  # @option params [String] :notification_target_arn
4656
4705
  # The ARN of the notification target that Amazon EC2 Auto Scaling uses
@@ -4691,16 +4740,16 @@ module Aws::AutoScaling
4691
4740
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4692
4741
  #
4693
4742
  #
4694
- # @example Example: To create a lifecycle hook
4743
+ # @example Example: To create a launch lifecycle hook
4695
4744
  #
4696
- # # This example creates a lifecycle hook.
4745
+ # # This example creates a lifecycle hook for instance launch.
4697
4746
  #
4698
4747
  # resp = client.put_lifecycle_hook({
4699
4748
  # auto_scaling_group_name: "my-auto-scaling-group",
4700
- # lifecycle_hook_name: "my-lifecycle-hook",
4749
+ # default_result: "CONTINUE",
4750
+ # heartbeat_timeout: 300,
4751
+ # lifecycle_hook_name: "my-launch-lifecycle-hook",
4701
4752
  # lifecycle_transition: "autoscaling:EC2_INSTANCE_LAUNCHING",
4702
- # notification_target_arn: "arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn",
4703
- # role_arn: "arn:aws:iam::123456789012:role/my-auto-scaling-role",
4704
4753
  # })
4705
4754
  #
4706
4755
  # @example Request syntax with placeholder values
@@ -4876,14 +4925,16 @@ module Aws::AutoScaling
4876
4925
  # other policy type.)
4877
4926
  #
4878
4927
  # @option params [Integer] :cooldown
4879
- # The duration of the policy's cooldown period, in seconds. When a
4880
- # cooldown period is specified here, it overrides the default cooldown
4881
- # period defined for the Auto Scaling group.
4928
+ # A cooldown period, in seconds, that applies to a specific simple
4929
+ # scaling policy. When a cooldown period is specified here, it overrides
4930
+ # the default cooldown.
4882
4931
  #
4883
4932
  # Valid only if the policy type is `SimpleScaling`. For more
4884
4933
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
4885
4934
  # the *Amazon EC2 Auto Scaling User Guide*.
4886
4935
  #
4936
+ # Default: None
4937
+ #
4887
4938
  #
4888
4939
  #
4889
4940
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
@@ -4903,14 +4954,23 @@ module Aws::AutoScaling
4903
4954
  # policy type.)
4904
4955
  #
4905
4956
  # @option params [Integer] :estimated_instance_warmup
4957
+ # *Not needed if the default instance warmup is defined for the group.*
4958
+ #
4906
4959
  # The estimated time, in seconds, until a newly launched instance can
4907
- # contribute to the CloudWatch metrics. If not provided, the default is
4908
- # to use the value from the default cooldown period for the Auto Scaling
4909
- # group.
4960
+ # contribute to the CloudWatch metrics. This warm-up period applies to
4961
+ # instances launched due to a specific target tracking or step scaling
4962
+ # policy. When a warm-up period is specified here, it overrides the
4963
+ # default instance warmup.
4910
4964
  #
4911
4965
  # Valid only if the policy type is `TargetTrackingScaling` or
4912
4966
  # `StepScaling`.
4913
4967
  #
4968
+ # <note markdown="1"> The default is to use the value for the default instance warmup
4969
+ # defined for the group. If default instance warmup is null, then
4970
+ # `EstimatedInstanceWarmup` falls back to the value of default cooldown.
4971
+ #
4972
+ # </note>
4973
+ #
4914
4974
  # @option params [Types::TargetTrackingConfiguration] :target_tracking_configuration
4915
4975
  # A target tracking scaling policy. Provides support for predefined or
4916
4976
  # custom metrics.
@@ -5334,17 +5394,25 @@ module Aws::AutoScaling
5334
5394
  # Sets the instance state to transition to after the lifecycle actions
5335
5395
  # are complete. Default is `Stopped`.
5336
5396
  #
5397
+ # @option params [Types::InstanceReusePolicy] :instance_reuse_policy
5398
+ # Indicates whether instances in the Auto Scaling group can be returned
5399
+ # to the warm pool on scale in. The default is to terminate instances in
5400
+ # the Auto Scaling group when the group scales in.
5401
+ #
5337
5402
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5338
5403
  #
5339
5404
  #
5340
- # @example Example: To add a warm pool to an Auto Scaling group
5405
+ # @example Example: To create a warm pool for an Auto Scaling group
5341
5406
  #
5342
- # # This example adds a warm pool to the specified Auto Scaling group.
5407
+ # # This example creates a warm pool for the specified Auto Scaling group.
5343
5408
  #
5344
5409
  # resp = client.put_warm_pool({
5345
5410
  # auto_scaling_group_name: "my-auto-scaling-group",
5411
+ # instance_reuse_policy: {
5412
+ # reuse_on_scale_in: true,
5413
+ # },
5346
5414
  # min_size: 30,
5347
- # pool_state: "Stopped",
5415
+ # pool_state: "Hibernated",
5348
5416
  # })
5349
5417
  #
5350
5418
  # @example Request syntax with placeholder values
@@ -5353,7 +5421,10 @@ module Aws::AutoScaling
5353
5421
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
5354
5422
  # max_group_prepared_capacity: 1,
5355
5423
  # min_size: 1,
5356
- # pool_state: "Stopped", # accepts Stopped, Running
5424
+ # pool_state: "Stopped", # accepts Stopped, Running, Hibernated
5425
+ # instance_reuse_policy: {
5426
+ # reuse_on_scale_in: false,
5427
+ # },
5357
5428
  # })
5358
5429
  #
5359
5430
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPool AWS API Documentation
@@ -5372,22 +5443,26 @@ module Aws::AutoScaling
5372
5443
  # This step is a part of the procedure for adding a lifecycle hook to an
5373
5444
  # Auto Scaling group:
5374
5445
  #
5375
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
5376
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
5377
- # Scaling launches or terminates instances.
5446
+ # 1. (Optional) Create a launch template or launch configuration with a
5447
+ # user data script that runs while an instance is in a wait state
5448
+ # due to a lifecycle hook.
5378
5449
  #
5379
- # 2. (Optional) Create a notification target and an IAM role. The
5450
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
5451
+ # EventBridge to invoke your Lambda function when an instance is put
5452
+ # into a wait state due to a lifecycle hook.
5453
+ #
5454
+ # 3. (Optional) Create a notification target and an IAM role. The
5380
5455
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
5381
5456
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
5382
5457
  # notifications to the target.
5383
5458
  #
5384
- # 3. Create the lifecycle hook. Specify whether the hook is used when
5459
+ # 4. Create the lifecycle hook. Specify whether the hook is used when
5385
5460
  # the instances launch or terminate.
5386
5461
  #
5387
- # 4. **If you need more time, record the lifecycle action heartbeat to
5388
- # keep the instance in a pending state.**
5462
+ # 5. **If you need more time, record the lifecycle action heartbeat to
5463
+ # keep the instance in a wait state.**
5389
5464
  #
5390
- # 5. If you finish before the timeout period ends, send a callback by
5465
+ # 6. If you finish before the timeout period ends, send a callback by
5391
5466
  # using the CompleteLifecycleAction API call.
5392
5467
  #
5393
5468
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -5768,9 +5843,16 @@ module Aws::AutoScaling
5768
5843
  #
5769
5844
  # resp = client.start_instance_refresh({
5770
5845
  # auto_scaling_group_name: "my-auto-scaling-group",
5846
+ # desired_configuration: {
5847
+ # launch_template: {
5848
+ # launch_template_name: "my-template-for-auto-scaling",
5849
+ # version: "$Latest",
5850
+ # },
5851
+ # },
5771
5852
  # preferences: {
5772
5853
  # instance_warmup: 400,
5773
- # min_healthy_percentage: 50,
5854
+ # min_healthy_percentage: 90,
5855
+ # skip_matching: true,
5774
5856
  # },
5775
5857
  # })
5776
5858
  #
@@ -6131,10 +6213,10 @@ module Aws::AutoScaling
6131
6213
  # group.
6132
6214
  #
6133
6215
  # @option params [Integer] :default_cooldown
6134
- # The amount of time, in seconds, after a scaling activity completes
6135
- # before another scaling activity can start. The default value is `300`.
6136
- # This setting applies when using simple scaling policies, but not when
6137
- # using other scaling policies or scheduled scaling. For more
6216
+ # *Only needed if you use simple scaling policies.*
6217
+ #
6218
+ # The amount of time, in seconds, between one scaling activity ending
6219
+ # and another one starting due to simple scaling policies. For more
6138
6220
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
6139
6221
  # the *Amazon EC2 Auto Scaling User Guide*.
6140
6222
  #
@@ -6154,11 +6236,11 @@ module Aws::AutoScaling
6154
6236
  # @option params [Integer] :health_check_grace_period
6155
6237
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
6156
6238
  # before checking the health status of an EC2 instance that has come
6157
- # into service and marking it unhealthy due to a failed health check.
6158
- # The default value is `0`. For more information, see [Health check
6159
- # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
6160
- #
6161
- # Conditional: Required if you are adding an `ELB` health check.
6239
+ # into service and marking it unhealthy due to a failed Elastic Load
6240
+ # Balancing or custom health check. This is useful if your instances do
6241
+ # not immediately pass these health checks after they enter the
6242
+ # `InService` state. For more information, see [Health check grace
6243
+ # period][1] in the *Amazon EC2 Auto Scaling User Guide*.
6162
6244
  #
6163
6245
  #
6164
6246
  #
@@ -6166,11 +6248,14 @@ module Aws::AutoScaling
6166
6248
  #
6167
6249
  # @option params [String] :placement_group
6168
6250
  # The name of an existing placement group into which to launch your
6169
- # instances, if any. A placement group is a logical grouping of
6170
- # instances within a single Availability Zone. You cannot specify
6171
- # multiple Availability Zones and a placement group. For more
6172
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
6173
- # for Linux Instances*.
6251
+ # instances. For more information, see [Placement groups][1] in the
6252
+ # *Amazon EC2 User Guide for Linux Instances*.
6253
+ #
6254
+ # <note markdown="1"> A *cluster* placement group is a logical grouping of instances within
6255
+ # a single Availability Zone. You cannot specify multiple Availability
6256
+ # Zones and a cluster placement group.
6257
+ #
6258
+ # </note>
6174
6259
  #
6175
6260
  #
6176
6261
  #
@@ -6254,34 +6339,45 @@ module Aws::AutoScaling
6254
6339
  #
6255
6340
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
6256
6341
  #
6257
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6342
+ # @option params [Integer] :default_instance_warmup
6343
+ # The amount of time, in seconds, until a newly launched instance can
6344
+ # contribute to the Amazon CloudWatch metrics. This delay lets an
6345
+ # instance finish initializing before Amazon EC2 Auto Scaling aggregates
6346
+ # instance metrics, resulting in more reliable usage data. Set this
6347
+ # value equal to the amount of time that it takes for resource
6348
+ # consumption to become stable after an instance reaches the `InService`
6349
+ # state. For more information, see [Set the default instance warmup for
6350
+ # an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling User Guide*.
6258
6351
  #
6352
+ # To manage your warm-up settings at the group level, we recommend that
6353
+ # you set the default instance warmup, *even if its value is set to 0
6354
+ # seconds*. This also optimizes the performance of scaling policies that
6355
+ # scale continuously, such as target tracking and step scaling policies.
6259
6356
  #
6260
- # @example Example: To update the launch configuration
6357
+ # If you need to remove a value that you previously set, include the
6358
+ # property but specify `-1` for the value. However, we strongly
6359
+ # recommend keeping the default instance warmup enabled by specifying a
6360
+ # minimum value of `0`.
6261
6361
  #
6262
- # # This example updates the launch configuration of the specified Auto Scaling group.
6263
6362
  #
6264
- # resp = client.update_auto_scaling_group({
6265
- # auto_scaling_group_name: "my-auto-scaling-group",
6266
- # launch_configuration_name: "new-launch-config",
6267
- # })
6268
6363
  #
6269
- # @example Example: To update the minimum and maximum size
6364
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
6270
6365
  #
6271
- # # This example updates the minimum size and maximum size of the specified Auto Scaling group.
6366
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6272
6367
  #
6273
- # resp = client.update_auto_scaling_group({
6274
- # auto_scaling_group_name: "my-auto-scaling-group",
6275
- # max_size: 3,
6276
- # min_size: 1,
6277
- # })
6278
6368
  #
6279
- # @example Example: To enable instance protection
6369
+ # @example Example: To update an Auto Scaling group
6280
6370
  #
6281
- # # This example enables instance protection for the specified Auto Scaling group.
6371
+ # # This example updates multiple properties at the same time.
6282
6372
  #
6283
6373
  # resp = client.update_auto_scaling_group({
6284
6374
  # auto_scaling_group_name: "my-auto-scaling-group",
6375
+ # launch_template: {
6376
+ # launch_template_name: "my-template-for-auto-scaling",
6377
+ # version: "2",
6378
+ # },
6379
+ # max_size: 5,
6380
+ # min_size: 1,
6285
6381
  # new_instances_protected_from_scale_in: true,
6286
6382
  # })
6287
6383
  #
@@ -6386,6 +6482,7 @@ module Aws::AutoScaling
6386
6482
  # capacity_rebalance: false,
6387
6483
  # context: "Context",
6388
6484
  # desired_capacity_type: "XmlStringMaxLen255",
6485
+ # default_instance_warmup: 1,
6389
6486
  # })
6390
6487
  #
6391
6488
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroup AWS API Documentation
@@ -6410,7 +6507,7 @@ module Aws::AutoScaling
6410
6507
  params: params,
6411
6508
  config: config)
6412
6509
  context[:gem_name] = 'aws-sdk-autoscaling'
6413
- context[:gem_version] = '1.76.0'
6510
+ context[:gem_version] = '1.79.0'
6414
6511
  Seahorse::Client::Request.new(handlers, context)
6415
6512
  end
6416
6513