aws-sdk-autoscaling 1.71.0 → 1.75.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.
@@ -119,7 +119,9 @@ module Aws::AutoScaling
119
119
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
120
  # are very aggressive. Construct and pass an instance of
121
121
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
123
125
  #
124
126
  # @option options [required, String] :region
125
127
  # The AWS region to connect to. The configured `:region` is
@@ -275,6 +277,15 @@ module Aws::AutoScaling
275
277
  # ** Please note ** When response stubbing is enabled, no HTTP
276
278
  # requests are made, and retries are disabled.
277
279
  #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
278
289
  # @option options [Boolean] :validate_params (true)
279
290
  # When `true`, request parameters are validated before
280
291
  # sending the request.
@@ -401,6 +412,9 @@ module Aws::AutoScaling
401
412
  # DescribeLoadBalancerTargetGroups API. To detach the target group from
402
413
  # the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.
403
414
  #
415
+ # This operation is additive and does not detach existing target groups
416
+ # or Classic Load Balancers from the Auto Scaling group.
417
+ #
404
418
  # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
405
419
  # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
406
420
  #
@@ -464,6 +478,9 @@ module Aws::AutoScaling
464
478
  # DescribeLoadBalancers API. To detach the load balancer from the Auto
465
479
  # Scaling group, call the DetachLoadBalancers API.
466
480
  #
481
+ # This operation is additive and does not detach existing Classic Load
482
+ # Balancers or target groups from the Auto Scaling group.
483
+ #
467
484
  # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
468
485
  # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
469
486
  #
@@ -650,9 +667,9 @@ module Aws::AutoScaling
650
667
  # This step is a part of the procedure for adding a lifecycle hook to an
651
668
  # Auto Scaling group:
652
669
  #
653
- # 1. (Optional) Create a Lambda function and a rule that allows
654
- # CloudWatch Events to invoke your Lambda function when Amazon EC2
655
- # Auto Scaling launches or terminates instances.
670
+ # 1. (Optional) Create a Lambda function and a rule that allows Amazon
671
+ # EventBridge to invoke your Lambda function when Amazon EC2 Auto
672
+ # Scaling launches or terminates instances.
656
673
  #
657
674
  # 2. (Optional) Create a notification target and an IAM role. The
658
675
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
@@ -665,8 +682,8 @@ module Aws::AutoScaling
665
682
  # 4. If you need more time, record the lifecycle action heartbeat to
666
683
  # keep the instance in a pending state.
667
684
  #
668
- # 5. **If you finish before the timeout period ends, complete the
669
- # lifecycle action.**
685
+ # 5. **If you finish before the timeout period ends, send a callback by
686
+ # using the CompleteLifecycleAction API call.**
670
687
  #
671
688
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
672
689
  # in the *Amazon EC2 Auto Scaling User Guide*.
@@ -798,7 +815,7 @@ module Aws::AutoScaling
798
815
  #
799
816
  #
800
817
  #
801
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
818
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
802
819
  #
803
820
  # @option params [String] :instance_id
804
821
  # The ID of the instance used to base the launch configuration on. If
@@ -889,10 +906,9 @@ module Aws::AutoScaling
889
906
  # @option params [Integer] :health_check_grace_period
890
907
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
891
908
  # before checking the health status of an EC2 instance that has come
892
- # into service. During this time, any health check failures for the
893
- # instance are ignored. The default value is `0`. For more information,
894
- # see [Health check grace period][1] in the *Amazon EC2 Auto Scaling
895
- # User Guide*.
909
+ # into service and marking it unhealthy due to a failed health check.
910
+ # The default value is `0`. For more information, see [Health check
911
+ # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
896
912
  #
897
913
  # Conditional: Required if you are adding an `ELB` health check.
898
914
  #
@@ -937,12 +953,12 @@ module Aws::AutoScaling
937
953
  # Indicates whether newly launched instances are protected from
938
954
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
939
955
  # information about preventing instances from terminating on scale in,
940
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto Scaling
941
- # User Guide*.
956
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
957
+ # Scaling User Guide*.
942
958
  #
943
959
  #
944
960
  #
945
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
961
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
946
962
  #
947
963
  # @option params [Boolean] :capacity_rebalance
948
964
  # Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity
@@ -955,7 +971,7 @@ module Aws::AutoScaling
955
971
  #
956
972
  #
957
973
  #
958
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
974
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
959
975
  #
960
976
  # @option params [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
961
977
  # One or more lifecycle hooks for the group, which specify actions to
@@ -1773,8 +1789,7 @@ module Aws::AutoScaling
1773
1789
  # The name of the Auto Scaling group.
1774
1790
  #
1775
1791
  # @option params [required, String] :topic_arn
1776
- # The Amazon Resource Name (ARN) of the Amazon Simple Notification
1777
- # Service (Amazon SNS) topic.
1792
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic.
1778
1793
  #
1779
1794
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1780
1795
  #
@@ -3289,6 +3304,42 @@ module Aws::AutoScaling
3289
3304
  # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_scaling_metric_specification.resource_label #=> String
3290
3305
  # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_load_metric_specification.predefined_metric_type #=> String, one of "ASGTotalCPUUtilization", "ASGTotalNetworkIn", "ASGTotalNetworkOut", "ALBTargetGroupRequestCount"
3291
3306
  # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_load_metric_specification.resource_label #=> String
3307
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries #=> Array
3308
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].id #=> String
3309
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].expression #=> String
3310
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
3311
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
3312
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
3313
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
3314
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
3315
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
3316
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
3317
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].label #=> String
3318
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].return_data #=> Boolean
3319
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries #=> Array
3320
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].id #=> String
3321
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].expression #=> String
3322
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
3323
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
3324
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
3325
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
3326
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
3327
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
3328
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
3329
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].label #=> String
3330
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].return_data #=> Boolean
3331
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries #=> Array
3332
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].id #=> String
3333
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].expression #=> String
3334
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
3335
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
3336
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
3337
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
3338
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
3339
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
3340
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
3341
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].label #=> String
3342
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].return_data #=> Boolean
3292
3343
  # resp.scaling_policies[0].predictive_scaling_configuration.mode #=> String, one of "ForecastAndScale", "ForecastOnly"
3293
3344
  # resp.scaling_policies[0].predictive_scaling_configuration.scheduling_buffer_time #=> Integer
3294
3345
  # resp.scaling_policies[0].predictive_scaling_configuration.max_capacity_breach_behavior #=> String, one of "HonorMaxCapacity", "IncreaseMaxCapacity"
@@ -4472,6 +4523,42 @@ module Aws::AutoScaling
4472
4523
  # resp.load_forecast[0].metric_specification.predefined_scaling_metric_specification.resource_label #=> String
4473
4524
  # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.predefined_metric_type #=> String, one of "ASGTotalCPUUtilization", "ASGTotalNetworkIn", "ASGTotalNetworkOut", "ALBTargetGroupRequestCount"
4474
4525
  # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.resource_label #=> String
4526
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries #=> Array
4527
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].id #=> String
4528
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].expression #=> String
4529
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
4530
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
4531
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
4532
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
4533
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
4534
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
4535
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
4536
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].label #=> String
4537
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].return_data #=> Boolean
4538
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries #=> Array
4539
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].id #=> String
4540
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].expression #=> String
4541
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
4542
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
4543
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
4544
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
4545
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
4546
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
4547
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
4548
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].label #=> String
4549
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].return_data #=> Boolean
4550
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries #=> Array
4551
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].id #=> String
4552
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].expression #=> String
4553
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
4554
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
4555
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
4556
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
4557
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
4558
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
4559
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
4560
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].label #=> String
4561
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].return_data #=> Boolean
4475
4562
  # resp.capacity_forecast.timestamps #=> Array
4476
4563
  # resp.capacity_forecast.timestamps[0] #=> Time
4477
4564
  # resp.capacity_forecast.values #=> Array
@@ -4490,16 +4577,16 @@ module Aws::AutoScaling
4490
4577
  # Creates or updates a lifecycle hook for the specified Auto Scaling
4491
4578
  # group.
4492
4579
  #
4493
- # A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on
4494
- # an instance when the instance launches (before it is put into service)
4495
- # or as the instance terminates (before it is fully terminated).
4580
+ # A lifecycle hook enables an Auto Scaling group to be aware of events
4581
+ # in the Auto Scaling instance lifecycle, and then perform a custom
4582
+ # action when the corresponding lifecycle event occurs.
4496
4583
  #
4497
4584
  # This step is a part of the procedure for adding a lifecycle hook to an
4498
4585
  # Auto Scaling group:
4499
4586
  #
4500
- # 1. (Optional) Create a Lambda function and a rule that allows
4501
- # CloudWatch Events to invoke your Lambda function when Amazon EC2
4502
- # Auto Scaling launches or terminates instances.
4587
+ # 1. (Optional) Create a Lambda function and a rule that allows Amazon
4588
+ # EventBridge to invoke your Lambda function when Amazon EC2 Auto
4589
+ # Scaling launches or terminates instances.
4503
4590
  #
4504
4591
  # 2. (Optional) Create a notification target and an IAM role. The
4505
4592
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
@@ -4513,8 +4600,8 @@ module Aws::AutoScaling
4513
4600
  # keep the instance in a pending state using the
4514
4601
  # RecordLifecycleActionHeartbeat API call.
4515
4602
  #
4516
- # 5. If you finish before the timeout period ends, complete the
4517
- # lifecycle action using the CompleteLifecycleAction API call.
4603
+ # 5. If you finish before the timeout period ends, send a callback by
4604
+ # using the CompleteLifecycleAction API call.
4518
4605
  #
4519
4606
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
4520
4607
  # in the *Amazon EC2 Auto Scaling User Guide*.
@@ -4651,8 +4738,7 @@ module Aws::AutoScaling
4651
4738
  # The name of the Auto Scaling group.
4652
4739
  #
4653
4740
  # @option params [required, String] :topic_arn
4654
- # The Amazon Resource Name (ARN) of the Amazon Simple Notification
4655
- # Service (Amazon SNS) topic.
4741
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic.
4656
4742
  #
4657
4743
  # @option params [required, Array<String>] :notification_types
4658
4744
  # The type of event that causes the notification to be sent. To query
@@ -4818,7 +4904,7 @@ module Aws::AutoScaling
4818
4904
  #
4819
4905
  # @option params [Types::TargetTrackingConfiguration] :target_tracking_configuration
4820
4906
  # A target tracking scaling policy. Provides support for predefined or
4821
- # customized metrics.
4907
+ # custom metrics.
4822
4908
  #
4823
4909
  # The following predefined metrics are available:
4824
4910
  #
@@ -4854,10 +4940,10 @@ module Aws::AutoScaling
4854
4940
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html
4855
4941
  #
4856
4942
  # @option params [Types::PredictiveScalingConfiguration] :predictive_scaling_configuration
4857
- # A predictive scaling policy. Provides support for only predefined
4858
- # metrics.
4943
+ # A predictive scaling policy. Provides support for predefined and
4944
+ # custom metrics.
4859
4945
  #
4860
- # Predictive scaling works with CPU utilization, network in/out, and the
4946
+ # Predefined metrics include CPU utilization, network in/out, and the
4861
4947
  # Application Load Balancer request count.
4862
4948
  #
4863
4949
  # For more information, see [PredictiveScalingConfiguration][1] in the
@@ -4964,6 +5050,78 @@ module Aws::AutoScaling
4964
5050
  # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
4965
5051
  # resource_label: "XmlStringMaxLen1023",
4966
5052
  # },
5053
+ # customized_scaling_metric_specification: {
5054
+ # metric_data_queries: [ # required
5055
+ # {
5056
+ # id: "XmlStringMaxLen255", # required
5057
+ # expression: "XmlStringMaxLen1023",
5058
+ # metric_stat: {
5059
+ # metric: { # required
5060
+ # namespace: "MetricNamespace", # required
5061
+ # metric_name: "MetricName", # required
5062
+ # dimensions: [
5063
+ # {
5064
+ # name: "MetricDimensionName", # required
5065
+ # value: "MetricDimensionValue", # required
5066
+ # },
5067
+ # ],
5068
+ # },
5069
+ # stat: "XmlStringMetricStat", # required
5070
+ # unit: "MetricUnit",
5071
+ # },
5072
+ # label: "XmlStringMetricLabel",
5073
+ # return_data: false,
5074
+ # },
5075
+ # ],
5076
+ # },
5077
+ # customized_load_metric_specification: {
5078
+ # metric_data_queries: [ # required
5079
+ # {
5080
+ # id: "XmlStringMaxLen255", # required
5081
+ # expression: "XmlStringMaxLen1023",
5082
+ # metric_stat: {
5083
+ # metric: { # required
5084
+ # namespace: "MetricNamespace", # required
5085
+ # metric_name: "MetricName", # required
5086
+ # dimensions: [
5087
+ # {
5088
+ # name: "MetricDimensionName", # required
5089
+ # value: "MetricDimensionValue", # required
5090
+ # },
5091
+ # ],
5092
+ # },
5093
+ # stat: "XmlStringMetricStat", # required
5094
+ # unit: "MetricUnit",
5095
+ # },
5096
+ # label: "XmlStringMetricLabel",
5097
+ # return_data: false,
5098
+ # },
5099
+ # ],
5100
+ # },
5101
+ # customized_capacity_metric_specification: {
5102
+ # metric_data_queries: [ # required
5103
+ # {
5104
+ # id: "XmlStringMaxLen255", # required
5105
+ # expression: "XmlStringMaxLen1023",
5106
+ # metric_stat: {
5107
+ # metric: { # required
5108
+ # namespace: "MetricNamespace", # required
5109
+ # metric_name: "MetricName", # required
5110
+ # dimensions: [
5111
+ # {
5112
+ # name: "MetricDimensionName", # required
5113
+ # value: "MetricDimensionValue", # required
5114
+ # },
5115
+ # ],
5116
+ # },
5117
+ # stat: "XmlStringMetricStat", # required
5118
+ # unit: "MetricUnit",
5119
+ # },
5120
+ # label: "XmlStringMetricLabel",
5121
+ # return_data: false,
5122
+ # },
5123
+ # ],
5124
+ # },
4967
5125
  # },
4968
5126
  # ],
4969
5127
  # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
@@ -5205,9 +5363,9 @@ module Aws::AutoScaling
5205
5363
  # This step is a part of the procedure for adding a lifecycle hook to an
5206
5364
  # Auto Scaling group:
5207
5365
  #
5208
- # 1. (Optional) Create a Lambda function and a rule that allows
5209
- # CloudWatch Events to invoke your Lambda function when Amazon EC2
5210
- # Auto Scaling launches or terminates instances.
5366
+ # 1. (Optional) Create a Lambda function and a rule that allows Amazon
5367
+ # EventBridge to invoke your Lambda function when Amazon EC2 Auto
5368
+ # Scaling launches or terminates instances.
5211
5369
  #
5212
5370
  # 2. (Optional) Create a notification target and an IAM role. The
5213
5371
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
@@ -5220,8 +5378,8 @@ module Aws::AutoScaling
5220
5378
  # 4. **If you need more time, record the lifecycle action heartbeat to
5221
5379
  # keep the instance in a pending state.**
5222
5380
  #
5223
- # 5. If you finish before the timeout period ends, complete the
5224
- # lifecycle action.
5381
+ # 5. If you finish before the timeout period ends, send a callback by
5382
+ # using the CompleteLifecycleAction API call.
5225
5383
  #
5226
5384
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
5227
5385
  # in the *Amazon EC2 Auto Scaling User Guide*.
@@ -5466,7 +5624,7 @@ module Aws::AutoScaling
5466
5624
  # This operation cannot be called on instances in a warm pool.
5467
5625
  #
5468
5626
  # For more information about preventing instances that are part of an
5469
- # Auto Scaling group from terminating on scale in, see [Instance
5627
+ # Auto Scaling group from terminating on scale in, see [Using instance
5470
5628
  # scale-in protection][1] in the *Amazon EC2 Auto Scaling User Guide*.
5471
5629
  #
5472
5630
  # If you exceed your maximum limit of instance IDs, which is 50 per Auto
@@ -5474,7 +5632,7 @@ module Aws::AutoScaling
5474
5632
  #
5475
5633
  #
5476
5634
  #
5477
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
5635
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
5478
5636
  #
5479
5637
  # @option params [required, Array<String>] :instance_ids
5480
5638
  # One or more instance IDs. You can specify up to 50 instances.
@@ -5939,7 +6097,7 @@ module Aws::AutoScaling
5939
6097
  #
5940
6098
  #
5941
6099
  #
5942
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
6100
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
5943
6101
  #
5944
6102
  # @option params [Integer] :min_size
5945
6103
  # The minimum size of the Auto Scaling group.
@@ -5987,9 +6145,9 @@ module Aws::AutoScaling
5987
6145
  # @option params [Integer] :health_check_grace_period
5988
6146
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
5989
6147
  # before checking the health status of an EC2 instance that has come
5990
- # into service. The default value is `0`. For more information, see
5991
- # [Health check grace period][1] in the *Amazon EC2 Auto Scaling User
5992
- # Guide*.
6148
+ # into service and marking it unhealthy due to a failed health check.
6149
+ # The default value is `0`. For more information, see [Health check
6150
+ # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
5993
6151
  #
5994
6152
  # Conditional: Required if you are adding an `ELB` health check.
5995
6153
  #
@@ -6030,12 +6188,12 @@ module Aws::AutoScaling
6030
6188
  # Indicates whether newly launched instances are protected from
6031
6189
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
6032
6190
  # information about preventing instances from terminating on scale in,
6033
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto Scaling
6034
- # User Guide*.
6191
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
6192
+ # Scaling User Guide*.
6035
6193
  #
6036
6194
  #
6037
6195
  #
6038
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
6196
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
6039
6197
  #
6040
6198
  # @option params [String] :service_linked_role_arn
6041
6199
  # The Amazon Resource Name (ARN) of the service-linked role that the
@@ -6066,7 +6224,7 @@ module Aws::AutoScaling
6066
6224
  #
6067
6225
  #
6068
6226
  #
6069
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
6227
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
6070
6228
  #
6071
6229
  # @option params [String] :context
6072
6230
  # Reserved.
@@ -6243,7 +6401,7 @@ module Aws::AutoScaling
6243
6401
  params: params,
6244
6402
  config: config)
6245
6403
  context[:gem_name] = 'aws-sdk-autoscaling'
6246
- context[:gem_version] = '1.71.0'
6404
+ context[:gem_version] = '1.75.0'
6247
6405
  Seahorse::Client::Request.new(handlers, context)
6248
6406
  end
6249
6407
 
@@ -213,8 +213,11 @@ module Aws::AutoScaling
213
213
  MaxRecords = Shapes::IntegerShape.new(name: 'MaxRecords')
214
214
  MemoryGiBPerVCpuRequest = Shapes::StructureShape.new(name: 'MemoryGiBPerVCpuRequest')
215
215
  MemoryMiBRequest = Shapes::StructureShape.new(name: 'MemoryMiBRequest')
216
+ Metric = Shapes::StructureShape.new(name: 'Metric')
216
217
  MetricCollectionType = Shapes::StructureShape.new(name: 'MetricCollectionType')
217
218
  MetricCollectionTypes = Shapes::ListShape.new(name: 'MetricCollectionTypes')
219
+ MetricDataQueries = Shapes::ListShape.new(name: 'MetricDataQueries')
220
+ MetricDataQuery = Shapes::StructureShape.new(name: 'MetricDataQuery')
218
221
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
219
222
  MetricDimensionName = Shapes::StringShape.new(name: 'MetricDimensionName')
220
223
  MetricDimensionValue = Shapes::StringShape.new(name: 'MetricDimensionValue')
@@ -224,6 +227,7 @@ module Aws::AutoScaling
224
227
  MetricName = Shapes::StringShape.new(name: 'MetricName')
225
228
  MetricNamespace = Shapes::StringShape.new(name: 'MetricNamespace')
226
229
  MetricScale = Shapes::FloatShape.new(name: 'MetricScale')
230
+ MetricStat = Shapes::StructureShape.new(name: 'MetricStat')
227
231
  MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
228
232
  MetricType = Shapes::StringShape.new(name: 'MetricType')
229
233
  MetricUnit = Shapes::StringShape.new(name: 'MetricUnit')
@@ -257,6 +261,9 @@ module Aws::AutoScaling
257
261
  PredefinedMetricSpecification = Shapes::StructureShape.new(name: 'PredefinedMetricSpecification')
258
262
  PredefinedScalingMetricType = Shapes::StringShape.new(name: 'PredefinedScalingMetricType')
259
263
  PredictiveScalingConfiguration = Shapes::StructureShape.new(name: 'PredictiveScalingConfiguration')
264
+ PredictiveScalingCustomizedCapacityMetric = Shapes::StructureShape.new(name: 'PredictiveScalingCustomizedCapacityMetric')
265
+ PredictiveScalingCustomizedLoadMetric = Shapes::StructureShape.new(name: 'PredictiveScalingCustomizedLoadMetric')
266
+ PredictiveScalingCustomizedScalingMetric = Shapes::StructureShape.new(name: 'PredictiveScalingCustomizedScalingMetric')
260
267
  PredictiveScalingForecastTimestamps = Shapes::ListShape.new(name: 'PredictiveScalingForecastTimestamps')
261
268
  PredictiveScalingForecastValues = Shapes::ListShape.new(name: 'PredictiveScalingForecastValues')
262
269
  PredictiveScalingMaxCapacityBreachBehavior = Shapes::StringShape.new(name: 'PredictiveScalingMaxCapacityBreachBehavior')
@@ -290,6 +297,7 @@ module Aws::AutoScaling
290
297
  ResourceContentionFault = Shapes::StructureShape.new(name: 'ResourceContentionFault')
291
298
  ResourceInUseFault = Shapes::StructureShape.new(name: 'ResourceInUseFault')
292
299
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
300
+ ReturnData = Shapes::BooleanShape.new(name: 'ReturnData')
293
301
  ScalingActivityInProgressFault = Shapes::StructureShape.new(name: 'ScalingActivityInProgressFault')
294
302
  ScalingActivityStatusCode = Shapes::StringShape.new(name: 'ScalingActivityStatusCode')
295
303
  ScalingPolicies = Shapes::ListShape.new(name: 'ScalingPolicies')
@@ -349,6 +357,8 @@ module Aws::AutoScaling
349
357
  XmlStringMaxLen32 = Shapes::StringShape.new(name: 'XmlStringMaxLen32')
350
358
  XmlStringMaxLen511 = Shapes::StringShape.new(name: 'XmlStringMaxLen511')
351
359
  XmlStringMaxLen64 = Shapes::StringShape.new(name: 'XmlStringMaxLen64')
360
+ XmlStringMetricLabel = Shapes::StringShape.new(name: 'XmlStringMetricLabel')
361
+ XmlStringMetricStat = Shapes::StringShape.new(name: 'XmlStringMetricStat')
352
362
  XmlStringUserData = Shapes::StringShape.new(name: 'XmlStringUserData')
353
363
 
354
364
  AcceleratorCountRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Min"))
@@ -1041,11 +1051,25 @@ module Aws::AutoScaling
1041
1051
  MemoryMiBRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
1042
1052
  MemoryMiBRequest.struct_class = Types::MemoryMiBRequest
1043
1053
 
1054
+ Metric.add_member(:namespace, Shapes::ShapeRef.new(shape: MetricNamespace, required: true, location_name: "Namespace"))
1055
+ Metric.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
1056
+ Metric.add_member(:dimensions, Shapes::ShapeRef.new(shape: MetricDimensions, location_name: "Dimensions"))
1057
+ Metric.struct_class = Types::Metric
1058
+
1044
1059
  MetricCollectionType.add_member(:metric, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "Metric"))
1045
1060
  MetricCollectionType.struct_class = Types::MetricCollectionType
1046
1061
 
1047
1062
  MetricCollectionTypes.member = Shapes::ShapeRef.new(shape: MetricCollectionType)
1048
1063
 
1064
+ MetricDataQueries.member = Shapes::ShapeRef.new(shape: MetricDataQuery)
1065
+
1066
+ MetricDataQuery.add_member(:id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "Id"))
1067
+ MetricDataQuery.add_member(:expression, Shapes::ShapeRef.new(shape: XmlStringMaxLen1023, location_name: "Expression"))
1068
+ MetricDataQuery.add_member(:metric_stat, Shapes::ShapeRef.new(shape: MetricStat, location_name: "MetricStat"))
1069
+ MetricDataQuery.add_member(:label, Shapes::ShapeRef.new(shape: XmlStringMetricLabel, location_name: "Label"))
1070
+ MetricDataQuery.add_member(:return_data, Shapes::ShapeRef.new(shape: ReturnData, location_name: "ReturnData"))
1071
+ MetricDataQuery.struct_class = Types::MetricDataQuery
1072
+
1049
1073
  MetricDimension.add_member(:name, Shapes::ShapeRef.new(shape: MetricDimensionName, required: true, location_name: "Name"))
1050
1074
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: MetricDimensionValue, required: true, location_name: "Value"))
1051
1075
  MetricDimension.struct_class = Types::MetricDimension
@@ -1057,6 +1081,11 @@ module Aws::AutoScaling
1057
1081
 
1058
1082
  MetricGranularityTypes.member = Shapes::ShapeRef.new(shape: MetricGranularityType)
1059
1083
 
1084
+ MetricStat.add_member(:metric, Shapes::ShapeRef.new(shape: Metric, required: true, location_name: "Metric"))
1085
+ MetricStat.add_member(:stat, Shapes::ShapeRef.new(shape: XmlStringMetricStat, required: true, location_name: "Stat"))
1086
+ MetricStat.add_member(:unit, Shapes::ShapeRef.new(shape: MetricUnit, location_name: "Unit"))
1087
+ MetricStat.struct_class = Types::MetricStat
1088
+
1060
1089
  Metrics.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
1061
1090
 
1062
1091
  MixedInstancesPolicy.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplate, location_name: "LaunchTemplate"))
@@ -1099,6 +1128,15 @@ module Aws::AutoScaling
1099
1128
  PredictiveScalingConfiguration.add_member(:max_capacity_buffer, Shapes::ShapeRef.new(shape: PredictiveScalingMaxCapacityBuffer, location_name: "MaxCapacityBuffer"))
1100
1129
  PredictiveScalingConfiguration.struct_class = Types::PredictiveScalingConfiguration
1101
1130
 
1131
+ PredictiveScalingCustomizedCapacityMetric.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
1132
+ PredictiveScalingCustomizedCapacityMetric.struct_class = Types::PredictiveScalingCustomizedCapacityMetric
1133
+
1134
+ PredictiveScalingCustomizedLoadMetric.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
1135
+ PredictiveScalingCustomizedLoadMetric.struct_class = Types::PredictiveScalingCustomizedLoadMetric
1136
+
1137
+ PredictiveScalingCustomizedScalingMetric.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
1138
+ PredictiveScalingCustomizedScalingMetric.struct_class = Types::PredictiveScalingCustomizedScalingMetric
1139
+
1102
1140
  PredictiveScalingForecastTimestamps.member = Shapes::ShapeRef.new(shape: TimestampType)
1103
1141
 
1104
1142
  PredictiveScalingForecastValues.member = Shapes::ShapeRef.new(shape: MetricScale)
@@ -1107,6 +1145,9 @@ module Aws::AutoScaling
1107
1145
  PredictiveScalingMetricSpecification.add_member(:predefined_metric_pair_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedMetricPair, location_name: "PredefinedMetricPairSpecification"))
1108
1146
  PredictiveScalingMetricSpecification.add_member(:predefined_scaling_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedScalingMetric, location_name: "PredefinedScalingMetricSpecification"))
1109
1147
  PredictiveScalingMetricSpecification.add_member(:predefined_load_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedLoadMetric, location_name: "PredefinedLoadMetricSpecification"))
1148
+ PredictiveScalingMetricSpecification.add_member(:customized_scaling_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedScalingMetric, location_name: "CustomizedScalingMetricSpecification"))
1149
+ PredictiveScalingMetricSpecification.add_member(:customized_load_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedLoadMetric, location_name: "CustomizedLoadMetricSpecification"))
1150
+ PredictiveScalingMetricSpecification.add_member(:customized_capacity_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedCapacityMetric, location_name: "CustomizedCapacityMetricSpecification"))
1110
1151
  PredictiveScalingMetricSpecification.struct_class = Types::PredictiveScalingMetricSpecification
1111
1152
 
1112
1153
  PredictiveScalingMetricSpecifications.member = Shapes::ShapeRef.new(shape: PredictiveScalingMetricSpecification)
@@ -197,7 +197,7 @@ module Aws::AutoScaling
197
197
  #
198
198
  #
199
199
  #
200
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
200
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
201
201
  # @option options [String] :instance_id
202
202
  # The ID of the instance used to base the launch configuration on. If
203
203
  # specified, Amazon EC2 Auto Scaling uses the configuration values from
@@ -278,10 +278,9 @@ module Aws::AutoScaling
278
278
  # @option options [Integer] :health_check_grace_period
279
279
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
280
280
  # before checking the health status of an EC2 instance that has come
281
- # into service. During this time, any health check failures for the
282
- # instance are ignored. The default value is `0`. For more information,
283
- # see [Health check grace period][1] in the *Amazon EC2 Auto Scaling
284
- # User Guide*.
281
+ # into service and marking it unhealthy due to a failed health check.
282
+ # The default value is `0`. For more information, see [Health check
283
+ # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
285
284
  #
286
285
  # Conditional: Required if you are adding an `ELB` health check.
287
286
  #
@@ -322,12 +321,12 @@ module Aws::AutoScaling
322
321
  # Indicates whether newly launched instances are protected from
323
322
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
324
323
  # information about preventing instances from terminating on scale in,
325
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto Scaling
326
- # User Guide*.
324
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
325
+ # Scaling User Guide*.
327
326
  #
328
327
  #
329
328
  #
330
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
329
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
331
330
  # @option options [Boolean] :capacity_rebalance
332
331
  # Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity
333
332
  # Rebalancing is disabled. When you turn on Capacity Rebalancing, Amazon
@@ -339,7 +338,7 @@ module Aws::AutoScaling
339
338
  #
340
339
  #
341
340
  #
342
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
341
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
343
342
  # @option options [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
344
343
  # One or more lifecycle hooks for the group, which specify actions to
345
344
  # perform when Amazon EC2 Auto Scaling launches or terminates instances.