aws-sdk-autoscaling 1.72.0 → 1.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/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)