aws-sdk-autoscaling 1.56.0 → 1.61.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.
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