aws-sdk-autoscaling 1.56.0 → 1.61.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46c85548580e329abe62b496bdeb6cb1bb54194c5581eb4a36cdf3a652c4bdbd
4
- data.tar.gz: 745daf44fa1822d80483fa6d512ee2e40ac4df70c9a2b20d44bb3fc467802825
3
+ metadata.gz: 040fda71ebde1ef33edab9b33551efd1fdff93e473336cb2083c7fa34607eeda
4
+ data.tar.gz: 18aa856dca296a5d5b113022b8ccea61d71ffc73fe902bdbecca1c668d46e948
5
5
  SHA512:
6
- metadata.gz: bced754e8b8a66c74d63fe3bb8edd9f4aadb7993ae218599b21b0b3d1eda31c9449d378c113b5faf4a6db55313138eb1c65484d4a55e6de04aea63fcbad119df
7
- data.tar.gz: ded6431f5f3d5cb22a42600ef6ee778be89bb2c16a54550983d36fd01e4f5384419cf76c94d0da9abae77ba67060bf741da3f902dae97f93f9ab980c9a69c067
6
+ metadata.gz: 023f161ad36c1d5563edd9e76b87d1176991c2c8b7d37a485427d7efba4e5a8d557115c348019a1d2d427eb570857236f724f01017d9ce528c63addcd9c0683a
7
+ data.tar.gz: 708ed8a25559df2ffbf695df58bb246ef114be95b2b17ede30345fa50195a844327f9c1afb0940dd588594557390483f890db7ff1aaae2b96653a8c802e917e5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,31 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.61.0 (2021-05-19)
5
+ ------------------
6
+
7
+ * Feature - With this release, customers can easily use Predictive Scaling as a policy directly through Amazon EC2 Auto Scaling configurations to proactively scale their applications ahead of predicted demand.
8
+
9
+ 1.60.0 (2021-04-08)
10
+ ------------------
11
+
12
+ * Feature - Amazon EC2 Auto Scaling announces Warm Pools that help applications to scale out faster by pre-initializing EC2 instances and save money by requiring fewer continuously running instances
13
+
14
+ 1.59.0 (2021-03-18)
15
+ ------------------
16
+
17
+ * Feature - Amazon EC2 Auto Scaling Instance Refresh now supports phased deployments.
18
+
19
+ 1.58.0 (2021-03-10)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.57.0 (2021-03-09)
25
+ ------------------
26
+
27
+ * Feature - EC2 Auto Scaling now supports setting a local time zone for cron expressions in scheduled actions, removing the need to adjust for Daylight Saving Time (DST)
28
+
4
29
  1.56.0 (2021-03-08)
5
30
  ------------------
6
31
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.56.0
1
+ 1.61.0
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -59,6 +59,6 @@ require_relative 'aws-sdk-autoscaling/customizations'
59
59
  # @!group service
60
60
  module Aws::AutoScaling
61
61
 
62
- GEM_VERSION = '1.56.0'
62
+ GEM_VERSION = '1.61.0'
63
63
 
64
64
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -77,6 +77,13 @@ module Aws::AutoScaling
77
77
  data[:desired_capacity]
78
78
  end
79
79
 
80
+ # The predicted capacity of the group when it has a predictive scaling
81
+ # policy.
82
+ # @return [Integer]
83
+ def predicted_capacity
84
+ data[:predicted_capacity]
85
+ end
86
+
80
87
  # The duration of the default cooldown period, in seconds.
81
88
  # @return [Integer]
82
89
  def default_cooldown
@@ -192,6 +199,18 @@ module Aws::AutoScaling
192
199
  data[:capacity_rebalance]
193
200
  end
194
201
 
202
+ # The warm pool for the group.
203
+ # @return [Types::WarmPoolConfiguration]
204
+ def warm_pool_configuration
205
+ data[:warm_pool_configuration]
206
+ end
207
+
208
+ # The current size of the warm pool.
209
+ # @return [Integer]
210
+ def warm_pool_size
211
+ data[:warm_pool_size]
212
+ end
213
+
195
214
  # @!endgroup
196
215
 
197
216
  # @return [Client]
@@ -415,8 +434,8 @@ module Aws::AutoScaling
415
434
  # @option options [Boolean] :force_delete
416
435
  # Specifies that the group is to be deleted along with all instances
417
436
  # associated with the group, without waiting for all instances to be
418
- # terminated. This parameter also deletes any lifecycle actions
419
- # associated with the group.
437
+ # terminated. This parameter also deletes any outstanding lifecycle
438
+ # actions associated with the group.
420
439
  # @return [EmptyStructure]
421
440
  def delete(options = {})
422
441
  options = options.merge(auto_scaling_group_name: @name)
@@ -486,6 +505,20 @@ module Aws::AutoScaling
486
505
  #
487
506
  # * `GroupTotalCapacity`
488
507
  #
508
+ # * `WarmPoolDesiredCapacity`
509
+ #
510
+ # * `WarmPoolWarmedCapacity`
511
+ #
512
+ # * `WarmPoolPendingCapacity`
513
+ #
514
+ # * `WarmPoolTerminatingCapacity`
515
+ #
516
+ # * `WarmPoolTotalCapacity`
517
+ #
518
+ # * `GroupAndWarmPoolDesiredCapacity`
519
+ #
520
+ # * `GroupAndWarmPoolTotalCapacity`
521
+ #
489
522
  # If you omit this parameter, all metrics are disabled.
490
523
  # @return [EmptyStructure]
491
524
  def disable_metrics_collection(options = {})
@@ -534,6 +567,22 @@ module Aws::AutoScaling
534
567
  #
535
568
  # * `GroupTotalCapacity`
536
569
  #
570
+ # The warm pools feature supports the following additional metrics:
571
+ #
572
+ # * `WarmPoolDesiredCapacity`
573
+ #
574
+ # * `WarmPoolWarmedCapacity`
575
+ #
576
+ # * `WarmPoolPendingCapacity`
577
+ #
578
+ # * `WarmPoolTerminatingCapacity`
579
+ #
580
+ # * `WarmPoolTotalCapacity`
581
+ #
582
+ # * `GroupAndWarmPoolDesiredCapacity`
583
+ #
584
+ # * `GroupAndWarmPoolTotalCapacity`
585
+ #
537
586
  # If you omit this parameter, all metrics are enabled.
538
587
  # @option options [required, String] :granularity
539
588
  # The granularity to associate with the metrics to collect. The only
@@ -585,6 +634,29 @@ module Aws::AutoScaling
585
634
  # disable_scale_in: false,
586
635
  # },
587
636
  # enabled: false,
637
+ # predictive_scaling_configuration: {
638
+ # metric_specifications: [ # required
639
+ # {
640
+ # target_value: 1.0, # required
641
+ # predefined_metric_pair_specification: {
642
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
643
+ # resource_label: "XmlStringMaxLen1023",
644
+ # },
645
+ # predefined_scaling_metric_specification: {
646
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
647
+ # resource_label: "XmlStringMaxLen1023",
648
+ # },
649
+ # predefined_load_metric_specification: {
650
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
651
+ # resource_label: "XmlStringMaxLen1023",
652
+ # },
653
+ # },
654
+ # ],
655
+ # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
656
+ # scheduling_buffer_time: 1,
657
+ # max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
658
+ # max_capacity_buffer: 1,
659
+ # },
588
660
  # })
589
661
  # @param [Hash] options ({})
590
662
  # @option options [required, String] :policy_name
@@ -597,6 +669,8 @@ module Aws::AutoScaling
597
669
  # * `StepScaling`
598
670
  #
599
671
  # * `SimpleScaling` (default)
672
+ #
673
+ # * `PredictiveScaling`
600
674
  # @option options [String] :adjustment_type
601
675
  # Specifies how the scaling adjustment is interpreted (for example, an
602
676
  # absolute number or a percentage). The valid values are
@@ -675,7 +749,7 @@ module Aws::AutoScaling
675
749
  # Valid only if the policy type is `TargetTrackingScaling` or
676
750
  # `StepScaling`.
677
751
  # @option options [Types::TargetTrackingConfiguration] :target_tracking_configuration
678
- # A target tracking scaling policy. Includes support for predefined or
752
+ # A target tracking scaling policy. Provides support for predefined or
679
753
  # customized metrics.
680
754
  #
681
755
  # The following predefined metrics are available:
@@ -709,6 +783,21 @@ module Aws::AutoScaling
709
783
  #
710
784
  #
711
785
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html
786
+ # @option options [Types::PredictiveScalingConfiguration] :predictive_scaling_configuration
787
+ # A predictive scaling policy. Provides support for only predefined
788
+ # metrics.
789
+ #
790
+ # Predictive scaling works with CPU utilization, network in/out, and the
791
+ # Application Load Balancer request count.
792
+ #
793
+ # For more information, see [PredictiveScalingConfiguration][1] in the
794
+ # *Amazon EC2 Auto Scaling API Reference*.
795
+ #
796
+ # Required if the policy type is `PredictiveScaling`.
797
+ #
798
+ #
799
+ #
800
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingConfiguration.html
712
801
  # @return [ScalingPolicy]
713
802
  def put_scaling_policy(options = {})
714
803
  options = options.merge(auto_scaling_group_name: @name)
@@ -730,6 +819,7 @@ module Aws::AutoScaling
730
819
  # min_size: 1,
731
820
  # max_size: 1,
732
821
  # desired_capacity: 1,
822
+ # time_zone: "XmlStringMaxLen255",
733
823
  # })
734
824
  # @param [Hash] options ({})
735
825
  # @option options [required, String] :scheduled_action_name
@@ -748,18 +838,19 @@ module Aws::AutoScaling
748
838
  # If you try to schedule your action in the past, Amazon EC2 Auto
749
839
  # Scaling returns an error message.
750
840
  # @option options [Time,DateTime,Date,Integer,String] :end_time
751
- # The date and time for the recurring schedule to end. Amazon EC2 Auto
752
- # Scaling does not perform the action after this time.
841
+ # The date and time for the recurring schedule to end, in UTC.
753
842
  # @option options [String] :recurrence
754
- # The recurring schedule for this action, in Unix cron syntax format.
755
- # This format consists of five fields separated by white spaces:
756
- # \[Minute\] \[Hour\] \[Day\_of\_Month\] \[Month\_of\_Year\]
757
- # \[Day\_of\_Week\]. The value must be in quotes (for example, `"30 0 1
758
- # 1,6,12 *"`). For more information about this format, see [Crontab][1].
843
+ # The recurring schedule for this action. This format consists of five
844
+ # fields separated by white spaces: \[Minute\] \[Hour\]
845
+ # \[Day\_of\_Month\] \[Month\_of\_Year\] \[Day\_of\_Week\]. The value
846
+ # must be in quotes (for example, `"30 0 1 1,6,12 *"`). For more
847
+ # information about this format, see [Crontab][1].
759
848
  #
760
849
  # When `StartTime` and `EndTime` are specified with `Recurrence`, they
761
850
  # form the boundaries of when the recurring action starts and stops.
762
851
  #
852
+ # Cron expressions use Universal Coordinated Time (UTC) by default.
853
+ #
763
854
  #
764
855
  #
765
856
  # [1]: http://crontab.org
@@ -772,6 +863,18 @@ module Aws::AutoScaling
772
863
  # after the scheduled action runs and the capacity it attempts to
773
864
  # maintain. It can scale beyond this capacity if you add more scaling
774
865
  # conditions.
866
+ # @option options [String] :time_zone
867
+ # Specifies the time zone for a cron expression. If a time zone is not
868
+ # provided, UTC is used by default.
869
+ #
870
+ # Valid values are the canonical names of the IANA time zones, derived
871
+ # from the IANA Time Zone Database (such as `Etc/GMT+9` or
872
+ # `Pacific/Tahiti`). For more information, see
873
+ # [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones][1].
874
+ #
875
+ #
876
+ #
877
+ # [1]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
775
878
  # @return [ScheduledAction]
776
879
  def put_scheduled_update_group_action(options = {})
777
880
  options = options.merge(auto_scaling_group_name: @name)
@@ -1254,7 +1357,7 @@ module Aws::AutoScaling
1254
1357
  # specify an unknown policy name, it is ignored with no error.
1255
1358
  # @option options [Array<String>] :policy_types
1256
1359
  # One or more policy types. The valid values are `SimpleScaling`,
1257
- # `StepScaling`, and `TargetTrackingScaling`.
1360
+ # `StepScaling`, `TargetTrackingScaling`, and `PredictiveScaling`.
1258
1361
  # @return [ScalingPolicy::Collection]
1259
1362
  def policies(options = {})
1260
1363
  batches = Enumerator.new do |y|
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -546,8 +546,7 @@ module Aws::AutoScaling
546
546
  end
547
547
 
548
548
  # Creates or updates one or more scheduled scaling actions for an Auto
549
- # Scaling group. If you leave a parameter unspecified when updating a
550
- # scheduled scaling action, the corresponding value remains unchanged.
549
+ # Scaling group.
551
550
  #
552
551
  # @option params [required, String] :auto_scaling_group_name
553
552
  # The name of the Auto Scaling group.
@@ -572,6 +571,7 @@ module Aws::AutoScaling
572
571
  # min_size: 1,
573
572
  # max_size: 1,
574
573
  # desired_capacity: 1,
574
+ # time_zone: "XmlStringMaxLen255",
575
575
  # },
576
576
  # ],
577
577
  # })
@@ -596,8 +596,8 @@ module Aws::AutoScaling
596
596
  # not roll back any replacements that have already been completed, but
597
597
  # it prevents new replacements from being started.
598
598
  #
599
- # For more information, see [Replacing Auto Scaling Instances Based on
600
- # an Instance Refresh][1].
599
+ # For more information, see [Replacing Auto Scaling instances based on
600
+ # an instance refresh][1] in the *Amazon EC2 Auto Scaling User Guide*.
601
601
  #
602
602
  #
603
603
  #
@@ -1032,9 +1032,12 @@ module Aws::AutoScaling
1032
1032
  #
1033
1033
  # resp = client.create_auto_scaling_group({
1034
1034
  # auto_scaling_group_name: "my-auto-scaling-group",
1035
- # health_check_grace_period: 120,
1035
+ # health_check_grace_period: 300,
1036
1036
  # health_check_type: "ELB",
1037
- # launch_configuration_name: "my-launch-config",
1037
+ # launch_template: {
1038
+ # launch_template_id: "lt-0a20c965061f64abc",
1039
+ # version: "$Default",
1040
+ # },
1038
1041
  # max_size: 3,
1039
1042
  # min_size: 1,
1040
1043
  # target_group_arns: [
@@ -1043,23 +1046,45 @@ module Aws::AutoScaling
1043
1046
  # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE",
1044
1047
  # })
1045
1048
  #
1046
- # @example Example: To create an Auto Scaling group with an attached load balancer
1049
+ # @example Example: To create an Auto Scaling group with a mixed instances policy
1047
1050
  #
1048
- # # This example creates an Auto Scaling group and attaches the specified Classic Load Balancer.
1051
+ # # This example creates an Auto Scaling group with a mixed instances policy. It specifies the c5.large, c5a.large, and
1052
+ # # c6g.large instance types and defines a different launch template for the c6g.large instance type.
1049
1053
  #
1050
1054
  # resp = client.create_auto_scaling_group({
1051
- # auto_scaling_group_name: "my-auto-scaling-group",
1052
- # availability_zones: [
1053
- # "us-west-2c",
1054
- # ],
1055
- # health_check_grace_period: 120,
1056
- # health_check_type: "ELB",
1057
- # launch_configuration_name: "my-launch-config",
1058
- # load_balancer_names: [
1059
- # "my-load-balancer",
1060
- # ],
1061
- # max_size: 3,
1055
+ # auto_scaling_group_name: "my-asg",
1056
+ # desired_capacity: 3,
1057
+ # max_size: 5,
1062
1058
  # min_size: 1,
1059
+ # mixed_instances_policy: {
1060
+ # instances_distribution: {
1061
+ # on_demand_base_capacity: 1,
1062
+ # on_demand_percentage_above_base_capacity: 50,
1063
+ # spot_allocation_strategy: "capacity-optimized",
1064
+ # },
1065
+ # launch_template: {
1066
+ # launch_template_specification: {
1067
+ # launch_template_name: "my-launch-template-for-x86",
1068
+ # version: "$Latest",
1069
+ # },
1070
+ # overrides: [
1071
+ # {
1072
+ # instance_type: "c6g.large",
1073
+ # launch_template_specification: {
1074
+ # launch_template_name: "my-launch-template-for-arm",
1075
+ # version: "$Latest",
1076
+ # },
1077
+ # },
1078
+ # {
1079
+ # instance_type: "c5.large",
1080
+ # },
1081
+ # {
1082
+ # instance_type: "c5a.large",
1083
+ # },
1084
+ # ],
1085
+ # },
1086
+ # },
1087
+ # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE",
1063
1088
  # })
1064
1089
  #
1065
1090
  # @example Request syntax with placeholder values
@@ -1567,8 +1592,8 @@ module Aws::AutoScaling
1567
1592
  # @option params [Boolean] :force_delete
1568
1593
  # Specifies that the group is to be deleted along with all instances
1569
1594
  # associated with the group, without waiting for all instances to be
1570
- # terminated. This parameter also deletes any lifecycle actions
1571
- # associated with the group.
1595
+ # terminated. This parameter also deletes any outstanding lifecycle
1596
+ # actions associated with the group.
1572
1597
  #
1573
1598
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1574
1599
  #
@@ -1847,6 +1872,35 @@ module Aws::AutoScaling
1847
1872
  req.send_request(options)
1848
1873
  end
1849
1874
 
1875
+ # Deletes the warm pool for the specified Auto Scaling group.
1876
+ #
1877
+ # @option params [required, String] :auto_scaling_group_name
1878
+ # The name of the Auto Scaling group.
1879
+ #
1880
+ # @option params [Boolean] :force_delete
1881
+ # Specifies that the warm pool is to be deleted along with all of its
1882
+ # associated instances, without waiting for all instances to be
1883
+ # terminated. This parameter also deletes any outstanding lifecycle
1884
+ # actions associated with the warm pool instances.
1885
+ #
1886
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1887
+ #
1888
+ # @example Request syntax with placeholder values
1889
+ #
1890
+ # resp = client.delete_warm_pool({
1891
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
1892
+ # force_delete: false,
1893
+ # })
1894
+ #
1895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPool AWS API Documentation
1896
+ #
1897
+ # @overload delete_warm_pool(params = {})
1898
+ # @param [Hash] params ({})
1899
+ def delete_warm_pool(params = {}, options = {})
1900
+ req = build_request(:delete_warm_pool, params)
1901
+ req.send_request(options)
1902
+ end
1903
+
1850
1904
  # Describes the current Amazon EC2 Auto Scaling resource quotas for your
1851
1905
  # AWS account.
1852
1906
  #
@@ -1868,7 +1922,7 @@ module Aws::AutoScaling
1868
1922
  #
1869
1923
  # @example Example: To describe your Auto Scaling account limits
1870
1924
  #
1871
- # # This example describes the Auto Scaling limits for your AWS account.
1925
+ # # This example describes the Amazon EC2 Auto Scaling service quotas for your account.
1872
1926
  #
1873
1927
  # resp = client.describe_account_limits({
1874
1928
  # })
@@ -1953,6 +2007,10 @@ module Aws::AutoScaling
1953
2007
 
1954
2008
  # Describes one or more Auto Scaling groups.
1955
2009
  #
2010
+ # This operation returns information about instances in Auto Scaling
2011
+ # groups. To retrieve information about the instances in a warm pool,
2012
+ # you must call the DescribeWarmPool API.
2013
+ #
1956
2014
  # @option params [Array<String>] :auto_scaling_group_names
1957
2015
  # The names of the Auto Scaling groups. By default, you can only specify
1958
2016
  # up to 50 names. You can optionally increase this limit using the
@@ -2065,6 +2123,7 @@ module Aws::AutoScaling
2065
2123
  # resp.auto_scaling_groups[0].min_size #=> Integer
2066
2124
  # resp.auto_scaling_groups[0].max_size #=> Integer
2067
2125
  # resp.auto_scaling_groups[0].desired_capacity #=> Integer
2126
+ # resp.auto_scaling_groups[0].predicted_capacity #=> Integer
2068
2127
  # resp.auto_scaling_groups[0].default_cooldown #=> Integer
2069
2128
  # resp.auto_scaling_groups[0].availability_zones #=> Array
2070
2129
  # resp.auto_scaling_groups[0].availability_zones[0] #=> String
@@ -2078,7 +2137,7 @@ module Aws::AutoScaling
2078
2137
  # resp.auto_scaling_groups[0].instances[0].instance_id #=> String
2079
2138
  # resp.auto_scaling_groups[0].instances[0].instance_type #=> String
2080
2139
  # resp.auto_scaling_groups[0].instances[0].availability_zone #=> String
2081
- # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby"
2140
+ # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
2082
2141
  # resp.auto_scaling_groups[0].instances[0].health_status #=> String
2083
2142
  # resp.auto_scaling_groups[0].instances[0].launch_configuration_name #=> String
2084
2143
  # resp.auto_scaling_groups[0].instances[0].launch_template.launch_template_id #=> String
@@ -2108,6 +2167,11 @@ module Aws::AutoScaling
2108
2167
  # resp.auto_scaling_groups[0].service_linked_role_arn #=> String
2109
2168
  # resp.auto_scaling_groups[0].max_instance_lifetime #=> Integer
2110
2169
  # resp.auto_scaling_groups[0].capacity_rebalance #=> Boolean
2170
+ # resp.auto_scaling_groups[0].warm_pool_configuration.max_group_prepared_capacity #=> Integer
2171
+ # resp.auto_scaling_groups[0].warm_pool_configuration.min_size #=> Integer
2172
+ # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
2173
+ # resp.auto_scaling_groups[0].warm_pool_configuration.status #=> String, one of "PendingDelete"
2174
+ # resp.auto_scaling_groups[0].warm_pool_size #=> Integer
2111
2175
  # resp.next_token #=> String
2112
2176
  #
2113
2177
  #
@@ -2269,8 +2333,8 @@ module Aws::AutoScaling
2269
2333
  #
2270
2334
  # * `Cancelled` - The operation is cancelled.
2271
2335
  #
2272
- # For more information, see [Replacing Auto Scaling Instances Based on
2273
- # an Instance Refresh][1].
2336
+ # For more information, see [Replacing Auto Scaling instances based on
2337
+ # an instance refresh][1] in the *Amazon EC2 Auto Scaling User Guide*.
2274
2338
  #
2275
2339
  #
2276
2340
  #
@@ -2347,6 +2411,10 @@ module Aws::AutoScaling
2347
2411
  # resp.instance_refreshes[0].end_time #=> Time
2348
2412
  # resp.instance_refreshes[0].percentage_complete #=> Integer
2349
2413
  # resp.instance_refreshes[0].instances_to_update #=> Integer
2414
+ # resp.instance_refreshes[0].progress_details.live_pool_progress.percentage_complete #=> Integer
2415
+ # resp.instance_refreshes[0].progress_details.live_pool_progress.instances_to_update #=> Integer
2416
+ # resp.instance_refreshes[0].progress_details.warm_pool_progress.percentage_complete #=> Integer
2417
+ # resp.instance_refreshes[0].progress_details.warm_pool_progress.instances_to_update #=> Integer
2350
2418
  # resp.next_token #=> String
2351
2419
  #
2352
2420
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes AWS API Documentation
@@ -2860,7 +2928,7 @@ module Aws::AutoScaling
2860
2928
  #
2861
2929
  # @option params [Array<String>] :policy_types
2862
2930
  # One or more policy types. The valid values are `SimpleScaling`,
2863
- # `StepScaling`, and `TargetTrackingScaling`.
2931
+ # `StepScaling`, `TargetTrackingScaling`, and `PredictiveScaling`.
2864
2932
  #
2865
2933
  # @option params [String] :next_token
2866
2934
  # The token for the next set of items to return. (You received this
@@ -2955,6 +3023,18 @@ module Aws::AutoScaling
2955
3023
  # resp.scaling_policies[0].target_tracking_configuration.target_value #=> Float
2956
3024
  # resp.scaling_policies[0].target_tracking_configuration.disable_scale_in #=> Boolean
2957
3025
  # resp.scaling_policies[0].enabled #=> Boolean
3026
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications #=> Array
3027
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].target_value #=> Float
3028
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_metric_pair_specification.predefined_metric_type #=> String, one of "ASGCPUUtilization", "ASGNetworkIn", "ASGNetworkOut", "ALBRequestCount"
3029
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_metric_pair_specification.resource_label #=> String
3030
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_scaling_metric_specification.predefined_metric_type #=> String, one of "ASGAverageCPUUtilization", "ASGAverageNetworkIn", "ASGAverageNetworkOut", "ALBRequestCountPerTarget"
3031
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_scaling_metric_specification.resource_label #=> String
3032
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_load_metric_specification.predefined_metric_type #=> String, one of "ASGTotalCPUUtilization", "ASGTotalNetworkIn", "ASGTotalNetworkOut", "ALBTargetGroupRequestCount"
3033
+ # resp.scaling_policies[0].predictive_scaling_configuration.metric_specifications[0].predefined_load_metric_specification.resource_label #=> String
3034
+ # resp.scaling_policies[0].predictive_scaling_configuration.mode #=> String, one of "ForecastAndScale", "ForecastOnly"
3035
+ # resp.scaling_policies[0].predictive_scaling_configuration.scheduling_buffer_time #=> Integer
3036
+ # resp.scaling_policies[0].predictive_scaling_configuration.max_capacity_breach_behavior #=> String, one of "HonorMaxCapacity", "IncreaseMaxCapacity"
3037
+ # resp.scaling_policies[0].predictive_scaling_configuration.max_capacity_buffer #=> Integer
2958
3038
  # resp.next_token #=> String
2959
3039
  #
2960
3040
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribePolicies AWS API Documentation
@@ -3216,6 +3296,7 @@ module Aws::AutoScaling
3216
3296
  # resp.scheduled_update_group_actions[0].min_size #=> Integer
3217
3297
  # resp.scheduled_update_group_actions[0].max_size #=> Integer
3218
3298
  # resp.scheduled_update_group_actions[0].desired_capacity #=> Integer
3299
+ # resp.scheduled_update_group_actions[0].time_zone #=> String
3219
3300
  # resp.next_token #=> String
3220
3301
  #
3221
3302
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScheduledActions AWS API Documentation
@@ -3380,6 +3461,62 @@ module Aws::AutoScaling
3380
3461
  req.send_request(options)
3381
3462
  end
3382
3463
 
3464
+ # Describes a warm pool and its instances.
3465
+ #
3466
+ # @option params [required, String] :auto_scaling_group_name
3467
+ # The name of the Auto Scaling group.
3468
+ #
3469
+ # @option params [Integer] :max_records
3470
+ # The maximum number of instances to return with this call. The maximum
3471
+ # value is `50`.
3472
+ #
3473
+ # @option params [String] :next_token
3474
+ # The token for the next set of instances to return. (You received this
3475
+ # token from a previous call.)
3476
+ #
3477
+ # @return [Types::DescribeWarmPoolAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3478
+ #
3479
+ # * {Types::DescribeWarmPoolAnswer#warm_pool_configuration #warm_pool_configuration} => Types::WarmPoolConfiguration
3480
+ # * {Types::DescribeWarmPoolAnswer#instances #instances} => Array&lt;Types::Instance&gt;
3481
+ # * {Types::DescribeWarmPoolAnswer#next_token #next_token} => String
3482
+ #
3483
+ # @example Request syntax with placeholder values
3484
+ #
3485
+ # resp = client.describe_warm_pool({
3486
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
3487
+ # max_records: 1,
3488
+ # next_token: "XmlString",
3489
+ # })
3490
+ #
3491
+ # @example Response structure
3492
+ #
3493
+ # resp.warm_pool_configuration.max_group_prepared_capacity #=> Integer
3494
+ # resp.warm_pool_configuration.min_size #=> Integer
3495
+ # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
3496
+ # resp.warm_pool_configuration.status #=> String, one of "PendingDelete"
3497
+ # resp.instances #=> Array
3498
+ # resp.instances[0].instance_id #=> String
3499
+ # resp.instances[0].instance_type #=> String
3500
+ # resp.instances[0].availability_zone #=> String
3501
+ # resp.instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
3502
+ # resp.instances[0].health_status #=> String
3503
+ # resp.instances[0].launch_configuration_name #=> String
3504
+ # resp.instances[0].launch_template.launch_template_id #=> String
3505
+ # resp.instances[0].launch_template.launch_template_name #=> String
3506
+ # resp.instances[0].launch_template.version #=> String
3507
+ # resp.instances[0].protected_from_scale_in #=> Boolean
3508
+ # resp.instances[0].weighted_capacity #=> String
3509
+ # resp.next_token #=> String
3510
+ #
3511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPool AWS API Documentation
3512
+ #
3513
+ # @overload describe_warm_pool(params = {})
3514
+ # @param [Hash] params ({})
3515
+ def describe_warm_pool(params = {}, options = {})
3516
+ req = build_request(:describe_warm_pool, params)
3517
+ req.send_request(options)
3518
+ end
3519
+
3383
3520
  # Removes one or more instances from the specified Auto Scaling group.
3384
3521
  #
3385
3522
  # After the instances are detached, you can manage them independent of
@@ -3600,6 +3737,20 @@ module Aws::AutoScaling
3600
3737
  #
3601
3738
  # * `GroupTotalCapacity`
3602
3739
  #
3740
+ # * `WarmPoolDesiredCapacity`
3741
+ #
3742
+ # * `WarmPoolWarmedCapacity`
3743
+ #
3744
+ # * `WarmPoolPendingCapacity`
3745
+ #
3746
+ # * `WarmPoolTerminatingCapacity`
3747
+ #
3748
+ # * `WarmPoolTotalCapacity`
3749
+ #
3750
+ # * `GroupAndWarmPoolDesiredCapacity`
3751
+ #
3752
+ # * `GroupAndWarmPoolTotalCapacity`
3753
+ #
3603
3754
  # If you omit this parameter, all metrics are disabled.
3604
3755
  #
3605
3756
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -3676,6 +3827,22 @@ module Aws::AutoScaling
3676
3827
  #
3677
3828
  # * `GroupTotalCapacity`
3678
3829
  #
3830
+ # The warm pools feature supports the following additional metrics:
3831
+ #
3832
+ # * `WarmPoolDesiredCapacity`
3833
+ #
3834
+ # * `WarmPoolWarmedCapacity`
3835
+ #
3836
+ # * `WarmPoolPendingCapacity`
3837
+ #
3838
+ # * `WarmPoolTerminatingCapacity`
3839
+ #
3840
+ # * `WarmPoolTotalCapacity`
3841
+ #
3842
+ # * `GroupAndWarmPoolDesiredCapacity`
3843
+ #
3844
+ # * `GroupAndWarmPoolTotalCapacity`
3845
+ #
3679
3846
  # If you omit this parameter, all metrics are enabled.
3680
3847
  #
3681
3848
  # @option params [required, String] :granularity
@@ -3960,6 +4127,89 @@ module Aws::AutoScaling
3960
4127
  req.send_request(options)
3961
4128
  end
3962
4129
 
4130
+ # Retrieves the forecast data for a predictive scaling policy.
4131
+ #
4132
+ # Load forecasts are predictions of the hourly load values using
4133
+ # historical load data from CloudWatch and an analysis of historical
4134
+ # trends. Capacity forecasts are represented as predicted values for the
4135
+ # minimum capacity that is needed on an hourly basis, based on the
4136
+ # hourly load forecast.
4137
+ #
4138
+ # A minimum of 24 hours of data is required to create the initial
4139
+ # forecasts. However, having a full 14 days of historical data results
4140
+ # in more accurate forecasts.
4141
+ #
4142
+ # For more information, see [Predictive scaling for Amazon EC2 Auto
4143
+ # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
4144
+ #
4145
+ #
4146
+ #
4147
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html
4148
+ #
4149
+ # @option params [required, String] :auto_scaling_group_name
4150
+ # The name of the Auto Scaling group.
4151
+ #
4152
+ # @option params [required, String] :policy_name
4153
+ # The name of the policy.
4154
+ #
4155
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
4156
+ # The inclusive start time of the time range for the forecast data to
4157
+ # get. At most, the date and time can be one year before the current
4158
+ # date and time.
4159
+ #
4160
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
4161
+ # The exclusive end time of the time range for the forecast data to get.
4162
+ # The maximum time duration between the start and end time is 30 days.
4163
+ #
4164
+ # Although this parameter can accept a date and time that is more than
4165
+ # two days in the future, the availability of forecast data has limits.
4166
+ # Amazon EC2 Auto Scaling only issues forecasts for periods of two days
4167
+ # in advance.
4168
+ #
4169
+ # @return [Types::GetPredictiveScalingForecastAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4170
+ #
4171
+ # * {Types::GetPredictiveScalingForecastAnswer#load_forecast #load_forecast} => Array&lt;Types::LoadForecast&gt;
4172
+ # * {Types::GetPredictiveScalingForecastAnswer#capacity_forecast #capacity_forecast} => Types::CapacityForecast
4173
+ # * {Types::GetPredictiveScalingForecastAnswer#update_time #update_time} => Time
4174
+ #
4175
+ # @example Request syntax with placeholder values
4176
+ #
4177
+ # resp = client.get_predictive_scaling_forecast({
4178
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
4179
+ # policy_name: "XmlStringMaxLen255", # required
4180
+ # start_time: Time.now, # required
4181
+ # end_time: Time.now, # required
4182
+ # })
4183
+ #
4184
+ # @example Response structure
4185
+ #
4186
+ # resp.load_forecast #=> Array
4187
+ # resp.load_forecast[0].timestamps #=> Array
4188
+ # resp.load_forecast[0].timestamps[0] #=> Time
4189
+ # resp.load_forecast[0].values #=> Array
4190
+ # resp.load_forecast[0].values[0] #=> Float
4191
+ # resp.load_forecast[0].metric_specification.target_value #=> Float
4192
+ # resp.load_forecast[0].metric_specification.predefined_metric_pair_specification.predefined_metric_type #=> String, one of "ASGCPUUtilization", "ASGNetworkIn", "ASGNetworkOut", "ALBRequestCount"
4193
+ # resp.load_forecast[0].metric_specification.predefined_metric_pair_specification.resource_label #=> String
4194
+ # resp.load_forecast[0].metric_specification.predefined_scaling_metric_specification.predefined_metric_type #=> String, one of "ASGAverageCPUUtilization", "ASGAverageNetworkIn", "ASGAverageNetworkOut", "ALBRequestCountPerTarget"
4195
+ # resp.load_forecast[0].metric_specification.predefined_scaling_metric_specification.resource_label #=> String
4196
+ # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.predefined_metric_type #=> String, one of "ASGTotalCPUUtilization", "ASGTotalNetworkIn", "ASGTotalNetworkOut", "ALBTargetGroupRequestCount"
4197
+ # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.resource_label #=> String
4198
+ # resp.capacity_forecast.timestamps #=> Array
4199
+ # resp.capacity_forecast.timestamps[0] #=> Time
4200
+ # resp.capacity_forecast.values #=> Array
4201
+ # resp.capacity_forecast.values[0] #=> Float
4202
+ # resp.update_time #=> Time
4203
+ #
4204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GetPredictiveScalingForecast AWS API Documentation
4205
+ #
4206
+ # @overload get_predictive_scaling_forecast(params = {})
4207
+ # @param [Hash] params ({})
4208
+ def get_predictive_scaling_forecast(params = {}, options = {})
4209
+ req = build_request(:get_predictive_scaling_forecast, params)
4210
+ req.send_request(options)
4211
+ end
4212
+
3963
4213
  # Creates or updates a lifecycle hook for the specified Auto Scaling
3964
4214
  # group.
3965
4215
  #
@@ -4164,17 +4414,28 @@ module Aws::AutoScaling
4164
4414
  req.send_request(options)
4165
4415
  end
4166
4416
 
4167
- # Creates or updates a scaling policy for an Auto Scaling group.
4417
+ # Creates or updates a scaling policy for an Auto Scaling group. Scaling
4418
+ # policies are used to scale an Auto Scaling group based on configurable
4419
+ # metrics. If no policies are defined, the dynamic scaling and
4420
+ # predictive scaling features are not used.
4168
4421
  #
4169
- # For more information about using scaling policies to scale your Auto
4170
- # Scaling group, see [Target tracking scaling policies][1] and [Step and
4171
- # simple scaling policies][2] in the *Amazon EC2 Auto Scaling User
4172
- # Guide*.
4422
+ # For more information about using dynamic scaling, see [Target tracking
4423
+ # scaling policies][1] and [Step and simple scaling policies][2] in the
4424
+ # *Amazon EC2 Auto Scaling User Guide*.
4425
+ #
4426
+ # For more information about using predictive scaling, see [Predictive
4427
+ # scaling for Amazon EC2 Auto Scaling][3] in the *Amazon EC2 Auto
4428
+ # Scaling User Guide*.
4429
+ #
4430
+ # You can view the scaling policies for an Auto Scaling group using the
4431
+ # DescribePolicies API call. If you are no longer using a scaling
4432
+ # policy, you can delete it by calling the DeletePolicy API.
4173
4433
  #
4174
4434
  #
4175
4435
  #
4176
4436
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html
4177
4437
  # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html
4438
+ # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html
4178
4439
  #
4179
4440
  # @option params [required, String] :auto_scaling_group_name
4180
4441
  # The name of the Auto Scaling group.
@@ -4191,6 +4452,8 @@ module Aws::AutoScaling
4191
4452
  #
4192
4453
  # * `SimpleScaling` (default)
4193
4454
  #
4455
+ # * `PredictiveScaling`
4456
+ #
4194
4457
  # @option params [String] :adjustment_type
4195
4458
  # Specifies how the scaling adjustment is interpreted (for example, an
4196
4459
  # absolute number or a percentage). The valid values are
@@ -4277,7 +4540,7 @@ module Aws::AutoScaling
4277
4540
  # `StepScaling`.
4278
4541
  #
4279
4542
  # @option params [Types::TargetTrackingConfiguration] :target_tracking_configuration
4280
- # A target tracking scaling policy. Includes support for predefined or
4543
+ # A target tracking scaling policy. Provides support for predefined or
4281
4544
  # customized metrics.
4282
4545
  #
4283
4546
  # The following predefined metrics are available:
@@ -4313,6 +4576,22 @@ module Aws::AutoScaling
4313
4576
  #
4314
4577
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html
4315
4578
  #
4579
+ # @option params [Types::PredictiveScalingConfiguration] :predictive_scaling_configuration
4580
+ # A predictive scaling policy. Provides support for only predefined
4581
+ # metrics.
4582
+ #
4583
+ # Predictive scaling works with CPU utilization, network in/out, and the
4584
+ # Application Load Balancer request count.
4585
+ #
4586
+ # For more information, see [PredictiveScalingConfiguration][1] in the
4587
+ # *Amazon EC2 Auto Scaling API Reference*.
4588
+ #
4589
+ # Required if the policy type is `PredictiveScaling`.
4590
+ #
4591
+ #
4592
+ #
4593
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingConfiguration.html
4594
+ #
4316
4595
  # @return [Types::PolicyARNType] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4317
4596
  #
4318
4597
  # * {Types::PolicyARNType#policy_arn #policy_arn} => String
@@ -4330,7 +4609,7 @@ module Aws::AutoScaling
4330
4609
  # target_tracking_configuration: {
4331
4610
  # predefined_metric_specification: {
4332
4611
  # predefined_metric_type: "ALBRequestCountPerTarget",
4333
- # resource_label: "app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d",
4612
+ # resource_label: "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff",
4334
4613
  # },
4335
4614
  # target_value: 1000.0,
4336
4615
  # },
@@ -4392,6 +4671,29 @@ module Aws::AutoScaling
4392
4671
  # disable_scale_in: false,
4393
4672
  # },
4394
4673
  # enabled: false,
4674
+ # predictive_scaling_configuration: {
4675
+ # metric_specifications: [ # required
4676
+ # {
4677
+ # target_value: 1.0, # required
4678
+ # predefined_metric_pair_specification: {
4679
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
4680
+ # resource_label: "XmlStringMaxLen1023",
4681
+ # },
4682
+ # predefined_scaling_metric_specification: {
4683
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
4684
+ # resource_label: "XmlStringMaxLen1023",
4685
+ # },
4686
+ # predefined_load_metric_specification: {
4687
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
4688
+ # resource_label: "XmlStringMaxLen1023",
4689
+ # },
4690
+ # },
4691
+ # ],
4692
+ # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
4693
+ # scheduling_buffer_time: 1,
4694
+ # max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
4695
+ # max_capacity_buffer: 1,
4696
+ # },
4395
4697
  # })
4396
4698
  #
4397
4699
  # @example Response structure
@@ -4411,12 +4713,16 @@ module Aws::AutoScaling
4411
4713
  end
4412
4714
 
4413
4715
  # Creates or updates a scheduled scaling action for an Auto Scaling
4414
- # group. If you leave a parameter unspecified when updating a scheduled
4415
- # scaling action, the corresponding value remains unchanged.
4716
+ # group.
4416
4717
  #
4417
4718
  # For more information, see [Scheduled scaling][1] in the *Amazon EC2
4418
4719
  # Auto Scaling User Guide*.
4419
4720
  #
4721
+ # You can view the scheduled actions for an Auto Scaling group using the
4722
+ # DescribeScheduledActions API call. If you are no longer using a
4723
+ # scheduled action, you can delete it by calling the
4724
+ # DeleteScheduledAction API.
4725
+ #
4420
4726
  #
4421
4727
  #
4422
4728
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html
@@ -4443,19 +4749,20 @@ module Aws::AutoScaling
4443
4749
  # Scaling returns an error message.
4444
4750
  #
4445
4751
  # @option params [Time,DateTime,Date,Integer,String] :end_time
4446
- # The date and time for the recurring schedule to end. Amazon EC2 Auto
4447
- # Scaling does not perform the action after this time.
4752
+ # The date and time for the recurring schedule to end, in UTC.
4448
4753
  #
4449
4754
  # @option params [String] :recurrence
4450
- # The recurring schedule for this action, in Unix cron syntax format.
4451
- # This format consists of five fields separated by white spaces:
4452
- # \[Minute\] \[Hour\] \[Day\_of\_Month\] \[Month\_of\_Year\]
4453
- # \[Day\_of\_Week\]. The value must be in quotes (for example, `"30 0 1
4454
- # 1,6,12 *"`). For more information about this format, see [Crontab][1].
4755
+ # The recurring schedule for this action. This format consists of five
4756
+ # fields separated by white spaces: \[Minute\] \[Hour\]
4757
+ # \[Day\_of\_Month\] \[Month\_of\_Year\] \[Day\_of\_Week\]. The value
4758
+ # must be in quotes (for example, `"30 0 1 1,6,12 *"`). For more
4759
+ # information about this format, see [Crontab][1].
4455
4760
  #
4456
4761
  # When `StartTime` and `EndTime` are specified with `Recurrence`, they
4457
4762
  # form the boundaries of when the recurring action starts and stops.
4458
4763
  #
4764
+ # Cron expressions use Universal Coordinated Time (UTC) by default.
4765
+ #
4459
4766
  #
4460
4767
  #
4461
4768
  # [1]: http://crontab.org
@@ -4472,6 +4779,19 @@ module Aws::AutoScaling
4472
4779
  # maintain. It can scale beyond this capacity if you add more scaling
4473
4780
  # conditions.
4474
4781
  #
4782
+ # @option params [String] :time_zone
4783
+ # Specifies the time zone for a cron expression. If a time zone is not
4784
+ # provided, UTC is used by default.
4785
+ #
4786
+ # Valid values are the canonical names of the IANA time zones, derived
4787
+ # from the IANA Time Zone Database (such as `Etc/GMT+9` or
4788
+ # `Pacific/Tahiti`). For more information, see
4789
+ # [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones][1].
4790
+ #
4791
+ #
4792
+ #
4793
+ # [1]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
4794
+ #
4475
4795
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4476
4796
  #
4477
4797
  #
@@ -4501,6 +4821,7 @@ module Aws::AutoScaling
4501
4821
  # min_size: 1,
4502
4822
  # max_size: 1,
4503
4823
  # desired_capacity: 1,
4824
+ # time_zone: "XmlStringMaxLen255",
4504
4825
  # })
4505
4826
  #
4506
4827
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScheduledUpdateGroupAction AWS API Documentation
@@ -4512,6 +4833,94 @@ module Aws::AutoScaling
4512
4833
  req.send_request(options)
4513
4834
  end
4514
4835
 
4836
+ # Creates or updates a warm pool for the specified Auto Scaling group. A
4837
+ # warm pool is a pool of pre-initialized EC2 instances that sits
4838
+ # alongside the Auto Scaling group. Whenever your application needs to
4839
+ # scale out, the Auto Scaling group can draw on the warm pool to meet
4840
+ # its new desired capacity. For more information and example
4841
+ # configurations, see [Warm pools for Amazon EC2 Auto Scaling][1] in the
4842
+ # *Amazon EC2 Auto Scaling User Guide*.
4843
+ #
4844
+ # This operation must be called from the Region in which the Auto
4845
+ # Scaling group was created. This operation cannot be called on an Auto
4846
+ # Scaling group that has a mixed instances policy or a launch template
4847
+ # or launch configuration that requests Spot Instances.
4848
+ #
4849
+ # You can view the instances in the warm pool using the DescribeWarmPool
4850
+ # API call. If you are no longer using a warm pool, you can delete it by
4851
+ # calling the DeleteWarmPool API.
4852
+ #
4853
+ #
4854
+ #
4855
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html
4856
+ #
4857
+ # @option params [required, String] :auto_scaling_group_name
4858
+ # The name of the Auto Scaling group.
4859
+ #
4860
+ # @option params [Integer] :max_group_prepared_capacity
4861
+ # Specifies the maximum number of instances that are allowed to be in
4862
+ # the warm pool or in any state except `Terminated` for the Auto Scaling
4863
+ # group. This is an optional property. Specify it only if you do not
4864
+ # want the warm pool size to be determined by the difference between the
4865
+ # group's maximum capacity and its desired capacity.
4866
+ #
4867
+ # If a value for `MaxGroupPreparedCapacity` is not specified, Amazon EC2
4868
+ # Auto Scaling launches and maintains the difference between the
4869
+ # group's maximum capacity and its desired capacity. If you specify a
4870
+ # value for `MaxGroupPreparedCapacity`, Amazon EC2 Auto Scaling uses the
4871
+ # difference between the `MaxGroupPreparedCapacity` and the desired
4872
+ # capacity instead.
4873
+ #
4874
+ # The size of the warm pool is dynamic. Only when
4875
+ # `MaxGroupPreparedCapacity` and `MinSize` are set to the same value
4876
+ # does the warm pool have an absolute size.
4877
+ #
4878
+ # If the desired capacity of the Auto Scaling group is higher than the
4879
+ # `MaxGroupPreparedCapacity`, the capacity of the warm pool is 0, unless
4880
+ # you specify a value for `MinSize`. To remove a value that you
4881
+ # previously set, include the property but specify -1 for the value.
4882
+ #
4883
+ # @option params [Integer] :min_size
4884
+ # Specifies the minimum number of instances to maintain in the warm
4885
+ # pool. This helps you to ensure that there is always a certain number
4886
+ # of warmed instances available to handle traffic spikes. Defaults to 0
4887
+ # if not specified.
4888
+ #
4889
+ # @option params [String] :pool_state
4890
+ # Sets the instance state to transition to after the lifecycle actions
4891
+ # are complete. Default is `Stopped`.
4892
+ #
4893
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4894
+ #
4895
+ #
4896
+ # @example Example: To add a warm pool to an Auto Scaling group
4897
+ #
4898
+ # # This example adds a warm pool to the specified Auto Scaling group.
4899
+ #
4900
+ # resp = client.put_warm_pool({
4901
+ # auto_scaling_group_name: "my-auto-scaling-group",
4902
+ # min_size: 30,
4903
+ # pool_state: "Stopped",
4904
+ # })
4905
+ #
4906
+ # @example Request syntax with placeholder values
4907
+ #
4908
+ # resp = client.put_warm_pool({
4909
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
4910
+ # max_group_prepared_capacity: 1,
4911
+ # min_size: 1,
4912
+ # pool_state: "Stopped", # accepts Stopped, Running
4913
+ # })
4914
+ #
4915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPool AWS API Documentation
4916
+ #
4917
+ # @overload put_warm_pool(params = {})
4918
+ # @param [Hash] params ({})
4919
+ def put_warm_pool(params = {}, options = {})
4920
+ req = build_request(:put_warm_pool, params)
4921
+ req.send_request(options)
4922
+ end
4923
+
4515
4924
  # Records a heartbeat for the lifecycle action associated with the
4516
4925
  # specified token or instance. This extends the timeout by the length of
4517
4926
  # time defined using the PutLifecycleHook API call.
@@ -4537,12 +4946,12 @@ module Aws::AutoScaling
4537
4946
  # 5. If you finish before the timeout period ends, complete the
4538
4947
  # lifecycle action.
4539
4948
  #
4540
- # For more information, see [Auto Scaling lifecycle][1] in the *Amazon
4541
- # EC2 Auto Scaling User Guide*.
4949
+ # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
4950
+ # in the *Amazon EC2 Auto Scaling User Guide*.
4542
4951
  #
4543
4952
  #
4544
4953
  #
4545
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroupLifecycle.html
4954
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html
4546
4955
  #
4547
4956
  # @option params [required, String] :lifecycle_hook_name
4548
4957
  # The name of the lifecycle hook.
@@ -4777,6 +5186,7 @@ module Aws::AutoScaling
4777
5186
  end
4778
5187
 
4779
5188
  # Updates the instance protection settings of the specified instances.
5189
+ # This operation cannot be called on instances in a warm pool.
4780
5190
  #
4781
5191
  # For more information about preventing instances that are part of an
4782
5192
  # Auto Scaling group from terminating on scale in, see [Instance
@@ -4844,8 +5254,8 @@ module Aws::AutoScaling
4844
5254
  end
4845
5255
 
4846
5256
  # Starts a new instance refresh operation, which triggers a rolling
4847
- # replacement of all previously launched instances in the Auto Scaling
4848
- # group with a new group of instances.
5257
+ # replacement of previously launched instances in the Auto Scaling group
5258
+ # with a new group of instances.
4849
5259
  #
4850
5260
  # If successful, this call creates a new instance refresh request with a
4851
5261
  # unique ID that you can use to track its progress. To query its status,
@@ -4854,8 +5264,8 @@ module Aws::AutoScaling
4854
5264
  # API. To cancel an instance refresh operation in progress, use the
4855
5265
  # CancelInstanceRefresh API.
4856
5266
  #
4857
- # For more information, see [Replacing Auto Scaling Instances Based on
4858
- # an Instance Refresh][1].
5267
+ # For more information, see [Replacing Auto Scaling instances based on
5268
+ # an instance refresh][1] in the *Amazon EC2 Auto Scaling User Guide*.
4859
5269
  #
4860
5270
  #
4861
5271
  #
@@ -4920,6 +5330,8 @@ module Aws::AutoScaling
4920
5330
  # preferences: {
4921
5331
  # min_healthy_percentage: 1,
4922
5332
  # instance_warmup: 1,
5333
+ # checkpoint_percentages: [1],
5334
+ # checkpoint_delay: 1,
4923
5335
  # },
4924
5336
  # })
4925
5337
  #
@@ -5008,7 +5420,8 @@ module Aws::AutoScaling
5008
5420
  end
5009
5421
 
5010
5422
  # Terminates the specified instance and optionally adjusts the desired
5011
- # group size.
5423
+ # group size. This operation cannot be called on instances in a warm
5424
+ # pool.
5012
5425
  #
5013
5426
  # This call simply makes a termination request. The instance is not
5014
5427
  # terminated immediately. When an instance is terminated, the instance
@@ -5391,7 +5804,7 @@ module Aws::AutoScaling
5391
5804
  params: params,
5392
5805
  config: config)
5393
5806
  context[:gem_name] = 'aws-sdk-autoscaling'
5394
- context[:gem_version] = '1.56.0'
5807
+ context[:gem_version] = '1.61.0'
5395
5808
  Seahorse::Client::Request.new(handlers, context)
5396
5809
  end
5397
5810