aws-sdk-autoscaling 1.72.0 → 1.76.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/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/query.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::AutoScaling
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::Query)
78
80
 
@@ -119,7 +121,9 @@ module Aws::AutoScaling
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::AutoScaling
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -295,7 +303,7 @@ module Aws::AutoScaling
295
303
  # seconds to wait when opening a HTTP session before raising a
296
304
  # `Timeout::Error`.
297
305
  #
298
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
299
307
  # number of seconds to wait for response data. This value can
300
308
  # safely be set per-request on the session.
301
309
  #
@@ -311,6 +319,9 @@ module Aws::AutoScaling
311
319
  # disables this behaviour. This value can safely be set per
312
320
  # request on the session.
313
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
314
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
315
326
  # HTTP debug output will be sent to the `:logger`.
316
327
  #
@@ -410,6 +421,9 @@ module Aws::AutoScaling
410
421
  # DescribeLoadBalancerTargetGroups API. To detach the target group from
411
422
  # the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.
412
423
  #
424
+ # This operation is additive and does not detach existing target groups
425
+ # or Classic Load Balancers from the Auto Scaling group.
426
+ #
413
427
  # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
414
428
  # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
415
429
  #
@@ -473,6 +487,9 @@ module Aws::AutoScaling
473
487
  # DescribeLoadBalancers API. To detach the load balancer from the Auto
474
488
  # Scaling group, call the DetachLoadBalancers API.
475
489
  #
490
+ # This operation is additive and does not detach existing Classic Load
491
+ # Balancers or target groups from the Auto Scaling group.
492
+ #
476
493
  # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
477
494
  # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
478
495
  #
@@ -659,9 +676,9 @@ module Aws::AutoScaling
659
676
  # This step is a part of the procedure for adding a lifecycle hook to an
660
677
  # Auto Scaling group:
661
678
  #
662
- # 1. (Optional) Create a Lambda function and a rule that allows
663
- # CloudWatch Events to invoke your Lambda function when Amazon EC2
664
- # Auto Scaling launches or terminates instances.
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.
665
682
  #
666
683
  # 2. (Optional) Create a notification target and an IAM role. The
667
684
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
@@ -674,8 +691,8 @@ module Aws::AutoScaling
674
691
  # 4. If you need more time, record the lifecycle action heartbeat to
675
692
  # keep the instance in a pending state.
676
693
  #
677
- # 5. **If you finish before the timeout period ends, complete the
678
- # lifecycle action.**
694
+ # 5. **If you finish before the timeout period ends, send a callback by
695
+ # using the CompleteLifecycleAction API call.**
679
696
  #
680
697
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
681
698
  # in the *Amazon EC2 Auto Scaling User Guide*.
@@ -807,7 +824,7 @@ module Aws::AutoScaling
807
824
  #
808
825
  #
809
826
  #
810
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
827
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
811
828
  #
812
829
  # @option params [String] :instance_id
813
830
  # The ID of the instance used to base the launch configuration on. If
@@ -898,10 +915,9 @@ module Aws::AutoScaling
898
915
  # @option params [Integer] :health_check_grace_period
899
916
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
900
917
  # before checking the health status of an EC2 instance that has come
901
- # into service. During this time, any health check failures for the
902
- # instance are ignored. The default value is `0`. For more information,
903
- # see [Health check grace period][1] in the *Amazon EC2 Auto Scaling
904
- # User Guide*.
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*.
905
921
  #
906
922
  # Conditional: Required if you are adding an `ELB` health check.
907
923
  #
@@ -946,12 +962,12 @@ module Aws::AutoScaling
946
962
  # Indicates whether newly launched instances are protected from
947
963
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
948
964
  # information about preventing instances from terminating on scale in,
949
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto Scaling
950
- # User Guide*.
965
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
966
+ # Scaling User Guide*.
951
967
  #
952
968
  #
953
969
  #
954
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
970
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
955
971
  #
956
972
  # @option params [Boolean] :capacity_rebalance
957
973
  # Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity
@@ -964,7 +980,7 @@ module Aws::AutoScaling
964
980
  #
965
981
  #
966
982
  #
967
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
983
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
968
984
  #
969
985
  # @option params [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
970
986
  # One or more lifecycle hooks for the group, which specify actions to
@@ -1782,8 +1798,7 @@ module Aws::AutoScaling
1782
1798
  # The name of the Auto Scaling group.
1783
1799
  #
1784
1800
  # @option params [required, String] :topic_arn
1785
- # The Amazon Resource Name (ARN) of the Amazon Simple Notification
1786
- # Service (Amazon SNS) topic.
1801
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic.
1787
1802
  #
1788
1803
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1789
1804
  #
@@ -3298,6 +3313,42 @@ module Aws::AutoScaling
3298
3313
  # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_scaling_metric_specification.resource_label #=> String
3299
3314
  # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_load_metric_specification.predefined_metric_type #=> String, one of "ASGTotalCPUUtilization", "ASGTotalNetworkIn", "ASGTotalNetworkOut", "ALBTargetGroupRequestCount"
3300
3315
  # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_load_metric_specification.resource_label #=> String
3316
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries #=> Array
3317
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].id #=> String
3318
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].expression #=> String
3319
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
3320
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
3321
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
3322
+ # 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
3323
+ # 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
3324
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
3325
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
3326
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].label #=> String
3327
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].return_data #=> Boolean
3328
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries #=> Array
3329
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].id #=> String
3330
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].expression #=> String
3331
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
3332
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
3333
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
3334
+ # 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
3335
+ # 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
3336
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
3337
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
3338
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].label #=> String
3339
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].return_data #=> Boolean
3340
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries #=> Array
3341
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].id #=> String
3342
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].expression #=> String
3343
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
3344
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
3345
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
3346
+ # 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
3347
+ # 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
3348
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
3349
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
3350
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].label #=> String
3351
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].return_data #=> Boolean
3301
3352
  # resp.scaling_policies[0].predictive_scaling_configuration.mode #=> String, one of "ForecastAndScale", "ForecastOnly"
3302
3353
  # resp.scaling_policies[0].predictive_scaling_configuration.scheduling_buffer_time #=> Integer
3303
3354
  # resp.scaling_policies[0].predictive_scaling_configuration.max_capacity_breach_behavior #=> String, one of "HonorMaxCapacity", "IncreaseMaxCapacity"
@@ -4481,6 +4532,42 @@ module Aws::AutoScaling
4481
4532
  # resp.load_forecast[0].metric_specification.predefined_scaling_metric_specification.resource_label #=> String
4482
4533
  # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.predefined_metric_type #=> String, one of "ASGTotalCPUUtilization", "ASGTotalNetworkIn", "ASGTotalNetworkOut", "ALBTargetGroupRequestCount"
4483
4534
  # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.resource_label #=> String
4535
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries #=> Array
4536
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].id #=> String
4537
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].expression #=> String
4538
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
4539
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
4540
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
4541
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
4542
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
4543
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
4544
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
4545
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].label #=> String
4546
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].return_data #=> Boolean
4547
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries #=> Array
4548
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].id #=> String
4549
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].expression #=> String
4550
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
4551
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
4552
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
4553
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
4554
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
4555
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
4556
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
4557
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].label #=> String
4558
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].return_data #=> Boolean
4559
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries #=> Array
4560
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].id #=> String
4561
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].expression #=> String
4562
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
4563
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
4564
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
4565
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
4566
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
4567
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
4568
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
4569
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].label #=> String
4570
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].return_data #=> Boolean
4484
4571
  # resp.capacity_forecast.timestamps #=> Array
4485
4572
  # resp.capacity_forecast.timestamps[0] #=> Time
4486
4573
  # resp.capacity_forecast.values #=> Array
@@ -4499,16 +4586,16 @@ module Aws::AutoScaling
4499
4586
  # Creates or updates a lifecycle hook for the specified Auto Scaling
4500
4587
  # group.
4501
4588
  #
4502
- # A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on
4503
- # an instance when the instance launches (before it is put into service)
4504
- # or as the instance terminates (before it is fully terminated).
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.
4505
4592
  #
4506
4593
  # This step is a part of the procedure for adding a lifecycle hook to an
4507
4594
  # Auto Scaling group:
4508
4595
  #
4509
- # 1. (Optional) Create a Lambda function and a rule that allows
4510
- # CloudWatch Events to invoke your Lambda function when Amazon EC2
4511
- # Auto Scaling launches or terminates instances.
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.
4512
4599
  #
4513
4600
  # 2. (Optional) Create a notification target and an IAM role. The
4514
4601
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
@@ -4522,8 +4609,8 @@ module Aws::AutoScaling
4522
4609
  # keep the instance in a pending state using the
4523
4610
  # RecordLifecycleActionHeartbeat API call.
4524
4611
  #
4525
- # 5. If you finish before the timeout period ends, complete the
4526
- # lifecycle action using the CompleteLifecycleAction API call.
4612
+ # 5. If you finish before the timeout period ends, send a callback by
4613
+ # using the CompleteLifecycleAction API call.
4527
4614
  #
4528
4615
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
4529
4616
  # in the *Amazon EC2 Auto Scaling User Guide*.
@@ -4660,8 +4747,7 @@ module Aws::AutoScaling
4660
4747
  # The name of the Auto Scaling group.
4661
4748
  #
4662
4749
  # @option params [required, String] :topic_arn
4663
- # The Amazon Resource Name (ARN) of the Amazon Simple Notification
4664
- # Service (Amazon SNS) topic.
4750
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic.
4665
4751
  #
4666
4752
  # @option params [required, Array<String>] :notification_types
4667
4753
  # The type of event that causes the notification to be sent. To query
@@ -4827,7 +4913,7 @@ module Aws::AutoScaling
4827
4913
  #
4828
4914
  # @option params [Types::TargetTrackingConfiguration] :target_tracking_configuration
4829
4915
  # A target tracking scaling policy. Provides support for predefined or
4830
- # customized metrics.
4916
+ # custom metrics.
4831
4917
  #
4832
4918
  # The following predefined metrics are available:
4833
4919
  #
@@ -4863,10 +4949,10 @@ module Aws::AutoScaling
4863
4949
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html
4864
4950
  #
4865
4951
  # @option params [Types::PredictiveScalingConfiguration] :predictive_scaling_configuration
4866
- # A predictive scaling policy. Provides support for only predefined
4867
- # metrics.
4952
+ # A predictive scaling policy. Provides support for predefined and
4953
+ # custom metrics.
4868
4954
  #
4869
- # Predictive scaling works with CPU utilization, network in/out, and the
4955
+ # Predefined metrics include CPU utilization, network in/out, and the
4870
4956
  # Application Load Balancer request count.
4871
4957
  #
4872
4958
  # For more information, see [PredictiveScalingConfiguration][1] in the
@@ -4973,6 +5059,78 @@ module Aws::AutoScaling
4973
5059
  # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
4974
5060
  # resource_label: "XmlStringMaxLen1023",
4975
5061
  # },
5062
+ # customized_scaling_metric_specification: {
5063
+ # metric_data_queries: [ # required
5064
+ # {
5065
+ # id: "XmlStringMaxLen255", # required
5066
+ # expression: "XmlStringMaxLen1023",
5067
+ # metric_stat: {
5068
+ # metric: { # required
5069
+ # namespace: "MetricNamespace", # required
5070
+ # metric_name: "MetricName", # required
5071
+ # dimensions: [
5072
+ # {
5073
+ # name: "MetricDimensionName", # required
5074
+ # value: "MetricDimensionValue", # required
5075
+ # },
5076
+ # ],
5077
+ # },
5078
+ # stat: "XmlStringMetricStat", # required
5079
+ # unit: "MetricUnit",
5080
+ # },
5081
+ # label: "XmlStringMetricLabel",
5082
+ # return_data: false,
5083
+ # },
5084
+ # ],
5085
+ # },
5086
+ # customized_load_metric_specification: {
5087
+ # metric_data_queries: [ # required
5088
+ # {
5089
+ # id: "XmlStringMaxLen255", # required
5090
+ # expression: "XmlStringMaxLen1023",
5091
+ # metric_stat: {
5092
+ # metric: { # required
5093
+ # namespace: "MetricNamespace", # required
5094
+ # metric_name: "MetricName", # required
5095
+ # dimensions: [
5096
+ # {
5097
+ # name: "MetricDimensionName", # required
5098
+ # value: "MetricDimensionValue", # required
5099
+ # },
5100
+ # ],
5101
+ # },
5102
+ # stat: "XmlStringMetricStat", # required
5103
+ # unit: "MetricUnit",
5104
+ # },
5105
+ # label: "XmlStringMetricLabel",
5106
+ # return_data: false,
5107
+ # },
5108
+ # ],
5109
+ # },
5110
+ # customized_capacity_metric_specification: {
5111
+ # metric_data_queries: [ # required
5112
+ # {
5113
+ # id: "XmlStringMaxLen255", # required
5114
+ # expression: "XmlStringMaxLen1023",
5115
+ # metric_stat: {
5116
+ # metric: { # required
5117
+ # namespace: "MetricNamespace", # required
5118
+ # metric_name: "MetricName", # required
5119
+ # dimensions: [
5120
+ # {
5121
+ # name: "MetricDimensionName", # required
5122
+ # value: "MetricDimensionValue", # required
5123
+ # },
5124
+ # ],
5125
+ # },
5126
+ # stat: "XmlStringMetricStat", # required
5127
+ # unit: "MetricUnit",
5128
+ # },
5129
+ # label: "XmlStringMetricLabel",
5130
+ # return_data: false,
5131
+ # },
5132
+ # ],
5133
+ # },
4976
5134
  # },
4977
5135
  # ],
4978
5136
  # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
@@ -5214,9 +5372,9 @@ module Aws::AutoScaling
5214
5372
  # This step is a part of the procedure for adding a lifecycle hook to an
5215
5373
  # Auto Scaling group:
5216
5374
  #
5217
- # 1. (Optional) Create a Lambda function and a rule that allows
5218
- # CloudWatch Events to invoke your Lambda function when Amazon EC2
5219
- # Auto Scaling launches or terminates instances.
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.
5220
5378
  #
5221
5379
  # 2. (Optional) Create a notification target and an IAM role. The
5222
5380
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
@@ -5229,8 +5387,8 @@ module Aws::AutoScaling
5229
5387
  # 4. **If you need more time, record the lifecycle action heartbeat to
5230
5388
  # keep the instance in a pending state.**
5231
5389
  #
5232
- # 5. If you finish before the timeout period ends, complete the
5233
- # lifecycle action.
5390
+ # 5. If you finish before the timeout period ends, send a callback by
5391
+ # using the CompleteLifecycleAction API call.
5234
5392
  #
5235
5393
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
5236
5394
  # in the *Amazon EC2 Auto Scaling User Guide*.
@@ -5475,7 +5633,7 @@ module Aws::AutoScaling
5475
5633
  # This operation cannot be called on instances in a warm pool.
5476
5634
  #
5477
5635
  # For more information about preventing instances that are part of an
5478
- # Auto Scaling group from terminating on scale in, see [Instance
5636
+ # Auto Scaling group from terminating on scale in, see [Using instance
5479
5637
  # scale-in protection][1] in the *Amazon EC2 Auto Scaling User Guide*.
5480
5638
  #
5481
5639
  # If you exceed your maximum limit of instance IDs, which is 50 per Auto
@@ -5483,7 +5641,7 @@ module Aws::AutoScaling
5483
5641
  #
5484
5642
  #
5485
5643
  #
5486
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
5644
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
5487
5645
  #
5488
5646
  # @option params [required, Array<String>] :instance_ids
5489
5647
  # One or more instance IDs. You can specify up to 50 instances.
@@ -5948,7 +6106,7 @@ module Aws::AutoScaling
5948
6106
  #
5949
6107
  #
5950
6108
  #
5951
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
6109
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
5952
6110
  #
5953
6111
  # @option params [Integer] :min_size
5954
6112
  # The minimum size of the Auto Scaling group.
@@ -5996,9 +6154,9 @@ module Aws::AutoScaling
5996
6154
  # @option params [Integer] :health_check_grace_period
5997
6155
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
5998
6156
  # before checking the health status of an EC2 instance that has come
5999
- # into service. The default value is `0`. For more information, see
6000
- # [Health check grace period][1] in the *Amazon EC2 Auto Scaling User
6001
- # Guide*.
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*.
6002
6160
  #
6003
6161
  # Conditional: Required if you are adding an `ELB` health check.
6004
6162
  #
@@ -6039,12 +6197,12 @@ module Aws::AutoScaling
6039
6197
  # Indicates whether newly launched instances are protected from
6040
6198
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
6041
6199
  # information about preventing instances from terminating on scale in,
6042
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto Scaling
6043
- # User Guide*.
6200
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
6201
+ # Scaling User Guide*.
6044
6202
  #
6045
6203
  #
6046
6204
  #
6047
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
6205
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
6048
6206
  #
6049
6207
  # @option params [String] :service_linked_role_arn
6050
6208
  # The Amazon Resource Name (ARN) of the service-linked role that the
@@ -6075,7 +6233,7 @@ module Aws::AutoScaling
6075
6233
  #
6076
6234
  #
6077
6235
  #
6078
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
6236
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
6079
6237
  #
6080
6238
  # @option params [String] :context
6081
6239
  # Reserved.
@@ -6252,7 +6410,7 @@ module Aws::AutoScaling
6252
6410
  params: params,
6253
6411
  config: config)
6254
6412
  context[:gem_name] = 'aws-sdk-autoscaling'
6255
- context[:gem_version] = '1.72.0'
6413
+ context[:gem_version] = '1.76.0'
6256
6414
  Seahorse::Client::Request.new(handlers, context)
6257
6415
  end
6258
6416
 
@@ -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)