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.
@@ -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
 
@@ -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
 
@@ -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
 
@@ -799,7 +799,7 @@ module Aws::AutoScaling
799
799
  # specify an unknown policy name, it is ignored with no error.
800
800
  # @option options [Array<String>] :policy_types
801
801
  # One or more policy types. The valid values are `SimpleScaling`,
802
- # `StepScaling`, and `TargetTrackingScaling`.
802
+ # `StepScaling`, `TargetTrackingScaling`, and `PredictiveScaling`.
803
803
  # @return [ScalingPolicy::Collection]
804
804
  def policies(options = {})
805
805
  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
 
@@ -55,6 +55,8 @@ module Aws::AutoScaling
55
55
  #
56
56
  # * `SimpleScaling` (default)
57
57
  #
58
+ # * `PredictiveScaling`
59
+ #
58
60
  # For more information, see [Target tracking scaling policies][1] and
59
61
  # [Step and simple scaling policies][2] in the *Amazon EC2 Auto Scaling
60
62
  # User Guide*.
@@ -144,6 +146,12 @@ module Aws::AutoScaling
144
146
  data[:enabled]
145
147
  end
146
148
 
149
+ # A predictive scaling policy.
150
+ # @return [Types::PredictiveScalingConfiguration]
151
+ def predictive_scaling_configuration
152
+ data[:predictive_scaling_configuration]
153
+ end
154
+
147
155
  # @!endgroup
148
156
 
149
157
  # @return [Client]
@@ -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
 
@@ -96,6 +96,12 @@ module Aws::AutoScaling
96
96
  data[:desired_capacity]
97
97
  end
98
98
 
99
+ # The time zone for the cron expression.
100
+ # @return [String]
101
+ def time_zone
102
+ data[:time_zone]
103
+ end
104
+
99
105
  # @!endgroup
100
106
 
101
107
  # @return [Client]
@@ -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
 
@@ -304,6 +304,11 @@ module Aws::AutoScaling
304
304
  # The desired size of the group.
305
305
  # @return [Integer]
306
306
  #
307
+ # @!attribute [rw] predicted_capacity
308
+ # The predicted capacity of the group when it has a predictive scaling
309
+ # policy.
310
+ # @return [Integer]
311
+ #
307
312
  # @!attribute [rw] default_cooldown
308
313
  # The duration of the default cooldown period, in seconds.
309
314
  # @return [Integer]
@@ -393,6 +398,14 @@ module Aws::AutoScaling
393
398
  # Indicates whether Capacity Rebalancing is enabled.
394
399
  # @return [Boolean]
395
400
  #
401
+ # @!attribute [rw] warm_pool_configuration
402
+ # The warm pool for the group.
403
+ # @return [Types::WarmPoolConfiguration]
404
+ #
405
+ # @!attribute [rw] warm_pool_size
406
+ # The current size of the warm pool.
407
+ # @return [Integer]
408
+ #
396
409
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AutoScalingGroup AWS API Documentation
397
410
  #
398
411
  class AutoScalingGroup < Struct.new(
@@ -404,6 +417,7 @@ module Aws::AutoScaling
404
417
  :min_size,
405
418
  :max_size,
406
419
  :desired_capacity,
420
+ :predicted_capacity,
407
421
  :default_cooldown,
408
422
  :availability_zones,
409
423
  :load_balancer_names,
@@ -422,7 +436,9 @@ module Aws::AutoScaling
422
436
  :new_instances_protected_from_scale_in,
423
437
  :service_linked_role_arn,
424
438
  :max_instance_lifetime,
425
- :capacity_rebalance)
439
+ :capacity_rebalance,
440
+ :warm_pool_configuration,
441
+ :warm_pool_size)
426
442
  SENSITIVE = []
427
443
  include Aws::Structure
428
444
  end
@@ -511,7 +527,11 @@ module Aws::AutoScaling
511
527
  # Valid Values: `Pending` \| `Pending:Wait` \| `Pending:Proceed` \|
512
528
  # `Quarantined` \| `InService` \| `Terminating` \| `Terminating:Wait`
513
529
  # \| `Terminating:Proceed` \| `Terminated` \| `Detaching` \|
514
- # `Detached` \| `EnteringStandby` \| `Standby`
530
+ # `Detached` \| `EnteringStandby` \| `Standby` \| `Warmed:Pending` \|
531
+ # `Warmed:Pending:Wait` \| `Warmed:Pending:Proceed` \|
532
+ # `Warmed:Terminating` \| `Warmed:Terminating:Wait` \|
533
+ # `Warmed:Terminating:Proceed` \| `Warmed:Terminated` \|
534
+ # `Warmed:Stopped` \| `Warmed:Running`
515
535
  #
516
536
  #
517
537
  #
@@ -651,6 +671,7 @@ module Aws::AutoScaling
651
671
  # min_size: 1,
652
672
  # max_size: 1,
653
673
  # desired_capacity: 1,
674
+ # time_zone: "XmlStringMaxLen255",
654
675
  # },
655
676
  # ],
656
677
  # }
@@ -767,6 +788,28 @@ module Aws::AutoScaling
767
788
  include Aws::Structure
768
789
  end
769
790
 
791
+ # A `GetPredictiveScalingForecast` call returns the capacity forecast
792
+ # for a predictive scaling policy. This structure includes the data
793
+ # points for that capacity forecast, along with the timestamps of those
794
+ # data points.
795
+ #
796
+ # @!attribute [rw] timestamps
797
+ # The time stamps for the data points, in UTC format.
798
+ # @return [Array<Time>]
799
+ #
800
+ # @!attribute [rw] values
801
+ # The values of the data points.
802
+ # @return [Array<Float>]
803
+ #
804
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CapacityForecast AWS API Documentation
805
+ #
806
+ class CapacityForecast < Struct.new(
807
+ :timestamps,
808
+ :values)
809
+ SENSITIVE = []
810
+ include Aws::Structure
811
+ end
812
+
770
813
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CompleteLifecycleActionAnswer AWS API Documentation
771
814
  #
772
815
  class CompleteLifecycleActionAnswer < Aws::EmptyStructure; end
@@ -1659,8 +1702,8 @@ module Aws::AutoScaling
1659
1702
  # @!attribute [rw] force_delete
1660
1703
  # Specifies that the group is to be deleted along with all instances
1661
1704
  # associated with the group, without waiting for all instances to be
1662
- # terminated. This parameter also deletes any lifecycle actions
1663
- # associated with the group.
1705
+ # terminated. This parameter also deletes any outstanding lifecycle
1706
+ # actions associated with the group.
1664
1707
  # @return [Boolean]
1665
1708
  #
1666
1709
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteAutoScalingGroupType AWS API Documentation
@@ -1804,6 +1847,38 @@ module Aws::AutoScaling
1804
1847
  include Aws::Structure
1805
1848
  end
1806
1849
 
1850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPoolAnswer AWS API Documentation
1851
+ #
1852
+ class DeleteWarmPoolAnswer < Aws::EmptyStructure; end
1853
+
1854
+ # @note When making an API call, you may pass DeleteWarmPoolType
1855
+ # data as a hash:
1856
+ #
1857
+ # {
1858
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
1859
+ # force_delete: false,
1860
+ # }
1861
+ #
1862
+ # @!attribute [rw] auto_scaling_group_name
1863
+ # The name of the Auto Scaling group.
1864
+ # @return [String]
1865
+ #
1866
+ # @!attribute [rw] force_delete
1867
+ # Specifies that the warm pool is to be deleted along with all of its
1868
+ # associated instances, without waiting for all instances to be
1869
+ # terminated. This parameter also deletes any outstanding lifecycle
1870
+ # actions associated with the warm pool instances.
1871
+ # @return [Boolean]
1872
+ #
1873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPoolType AWS API Documentation
1874
+ #
1875
+ class DeleteWarmPoolType < Struct.new(
1876
+ :auto_scaling_group_name,
1877
+ :force_delete)
1878
+ SENSITIVE = []
1879
+ include Aws::Structure
1880
+ end
1881
+
1807
1882
  # @!attribute [rw] max_number_of_auto_scaling_groups
1808
1883
  # The maximum number of groups allowed for your AWS account. The
1809
1884
  # default is 200 groups per AWS Region.
@@ -2206,7 +2281,7 @@ module Aws::AutoScaling
2206
2281
  #
2207
2282
  # @!attribute [rw] policy_types
2208
2283
  # One or more policy types. The valid values are `SimpleScaling`,
2209
- # `StepScaling`, and `TargetTrackingScaling`.
2284
+ # `StepScaling`, `TargetTrackingScaling`, and `PredictiveScaling`.
2210
2285
  # @return [Array<String>]
2211
2286
  #
2212
2287
  # @!attribute [rw] next_token
@@ -2392,6 +2467,62 @@ module Aws::AutoScaling
2392
2467
  include Aws::Structure
2393
2468
  end
2394
2469
 
2470
+ # @!attribute [rw] warm_pool_configuration
2471
+ # The warm pool configuration details.
2472
+ # @return [Types::WarmPoolConfiguration]
2473
+ #
2474
+ # @!attribute [rw] instances
2475
+ # The instances that are currently in the warm pool.
2476
+ # @return [Array<Types::Instance>]
2477
+ #
2478
+ # @!attribute [rw] next_token
2479
+ # The token for the next set of items to return. (You received this
2480
+ # token from a previous call.)
2481
+ # @return [String]
2482
+ #
2483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPoolAnswer AWS API Documentation
2484
+ #
2485
+ class DescribeWarmPoolAnswer < Struct.new(
2486
+ :warm_pool_configuration,
2487
+ :instances,
2488
+ :next_token)
2489
+ SENSITIVE = []
2490
+ include Aws::Structure
2491
+ end
2492
+
2493
+ # @note When making an API call, you may pass DescribeWarmPoolType
2494
+ # data as a hash:
2495
+ #
2496
+ # {
2497
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
2498
+ # max_records: 1,
2499
+ # next_token: "XmlString",
2500
+ # }
2501
+ #
2502
+ # @!attribute [rw] auto_scaling_group_name
2503
+ # The name of the Auto Scaling group.
2504
+ # @return [String]
2505
+ #
2506
+ # @!attribute [rw] max_records
2507
+ # The maximum number of instances to return with this call. The
2508
+ # maximum value is `50`.
2509
+ # @return [Integer]
2510
+ #
2511
+ # @!attribute [rw] next_token
2512
+ # The token for the next set of instances to return. (You received
2513
+ # this token from a previous call.)
2514
+ # @return [String]
2515
+ #
2516
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPoolType AWS API Documentation
2517
+ #
2518
+ class DescribeWarmPoolType < Struct.new(
2519
+ :auto_scaling_group_name,
2520
+ :max_records,
2521
+ :next_token)
2522
+ SENSITIVE = []
2523
+ include Aws::Structure
2524
+ end
2525
+
2395
2526
  # @!attribute [rw] activities
2396
2527
  # The activities related to detaching the instances from the Auto
2397
2528
  # Scaling group.
@@ -2538,6 +2669,20 @@ module Aws::AutoScaling
2538
2669
  #
2539
2670
  # * `GroupTotalCapacity`
2540
2671
  #
2672
+ # * `WarmPoolDesiredCapacity`
2673
+ #
2674
+ # * `WarmPoolWarmedCapacity`
2675
+ #
2676
+ # * `WarmPoolPendingCapacity`
2677
+ #
2678
+ # * `WarmPoolTerminatingCapacity`
2679
+ #
2680
+ # * `WarmPoolTotalCapacity`
2681
+ #
2682
+ # * `GroupAndWarmPoolDesiredCapacity`
2683
+ #
2684
+ # * `GroupAndWarmPoolTotalCapacity`
2685
+ #
2541
2686
  # If you omit this parameter, all metrics are disabled.
2542
2687
  # @return [Array<String>]
2543
2688
  #
@@ -2716,6 +2861,22 @@ module Aws::AutoScaling
2716
2861
  #
2717
2862
  # * `GroupTotalCapacity`
2718
2863
  #
2864
+ # The warm pools feature supports the following additional metrics:
2865
+ #
2866
+ # * `WarmPoolDesiredCapacity`
2867
+ #
2868
+ # * `WarmPoolWarmedCapacity`
2869
+ #
2870
+ # * `WarmPoolPendingCapacity`
2871
+ #
2872
+ # * `WarmPoolTerminatingCapacity`
2873
+ #
2874
+ # * `WarmPoolTotalCapacity`
2875
+ #
2876
+ # * `GroupAndWarmPoolDesiredCapacity`
2877
+ #
2878
+ # * `GroupAndWarmPoolTotalCapacity`
2879
+ #
2719
2880
  # If you omit this parameter, all metrics are enabled.
2720
2881
  # @return [Array<String>]
2721
2882
  #
@@ -2764,6 +2925,20 @@ module Aws::AutoScaling
2764
2925
  # * `GroupTerminatingCapacity`
2765
2926
  #
2766
2927
  # * `GroupTotalCapacity`
2928
+ #
2929
+ # * `WarmPoolDesiredCapacity`
2930
+ #
2931
+ # * `WarmPoolWarmedCapacity`
2932
+ #
2933
+ # * `WarmPoolPendingCapacity`
2934
+ #
2935
+ # * `WarmPoolTerminatingCapacity`
2936
+ #
2937
+ # * `WarmPoolTotalCapacity`
2938
+ #
2939
+ # * `GroupAndWarmPoolDesiredCapacity`
2940
+ #
2941
+ # * `GroupAndWarmPoolTotalCapacity`
2767
2942
  # @return [String]
2768
2943
  #
2769
2944
  # @!attribute [rw] granularity
@@ -2986,6 +3161,74 @@ module Aws::AutoScaling
2986
3161
  include Aws::Structure
2987
3162
  end
2988
3163
 
3164
+ # @!attribute [rw] load_forecast
3165
+ # The load forecast.
3166
+ # @return [Array<Types::LoadForecast>]
3167
+ #
3168
+ # @!attribute [rw] capacity_forecast
3169
+ # The capacity forecast.
3170
+ # @return [Types::CapacityForecast]
3171
+ #
3172
+ # @!attribute [rw] update_time
3173
+ # The time the forecast was made.
3174
+ # @return [Time]
3175
+ #
3176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GetPredictiveScalingForecastAnswer AWS API Documentation
3177
+ #
3178
+ class GetPredictiveScalingForecastAnswer < Struct.new(
3179
+ :load_forecast,
3180
+ :capacity_forecast,
3181
+ :update_time)
3182
+ SENSITIVE = []
3183
+ include Aws::Structure
3184
+ end
3185
+
3186
+ # @note When making an API call, you may pass GetPredictiveScalingForecastType
3187
+ # data as a hash:
3188
+ #
3189
+ # {
3190
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
3191
+ # policy_name: "XmlStringMaxLen255", # required
3192
+ # start_time: Time.now, # required
3193
+ # end_time: Time.now, # required
3194
+ # }
3195
+ #
3196
+ # @!attribute [rw] auto_scaling_group_name
3197
+ # The name of the Auto Scaling group.
3198
+ # @return [String]
3199
+ #
3200
+ # @!attribute [rw] policy_name
3201
+ # The name of the policy.
3202
+ # @return [String]
3203
+ #
3204
+ # @!attribute [rw] start_time
3205
+ # The inclusive start time of the time range for the forecast data to
3206
+ # get. At most, the date and time can be one year before the current
3207
+ # date and time.
3208
+ # @return [Time]
3209
+ #
3210
+ # @!attribute [rw] end_time
3211
+ # The exclusive end time of the time range for the forecast data to
3212
+ # get. The maximum time duration between the start and end time is 30
3213
+ # days.
3214
+ #
3215
+ # Although this parameter can accept a date and time that is more than
3216
+ # two days in the future, the availability of forecast data has
3217
+ # limits. Amazon EC2 Auto Scaling only issues forecasts for periods of
3218
+ # two days in advance.
3219
+ # @return [Time]
3220
+ #
3221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GetPredictiveScalingForecastType AWS API Documentation
3222
+ #
3223
+ class GetPredictiveScalingForecastType < Struct.new(
3224
+ :auto_scaling_group_name,
3225
+ :policy_name,
3226
+ :start_time,
3227
+ :end_time)
3228
+ SENSITIVE = []
3229
+ include Aws::Structure
3230
+ end
3231
+
2989
3232
  # Describes an EC2 instance.
2990
3233
  #
2991
3234
  # @!attribute [rw] instance_id
@@ -3189,7 +3432,8 @@ module Aws::AutoScaling
3189
3432
  # instance replacement, Amazon EC2 Auto Scaling tracks the instance's
3190
3433
  # health status and warm-up time. When the instance's health status
3191
3434
  # changes to healthy and the specified warm-up time passes, the
3192
- # instance is considered updated and added to the percentage complete.
3435
+ # instance is considered updated and is added to the percentage
3436
+ # complete.
3193
3437
  # @return [Integer]
3194
3438
  #
3195
3439
  # @!attribute [rw] instances_to_update
@@ -3197,6 +3441,11 @@ module Aws::AutoScaling
3197
3441
  # refresh is complete.
3198
3442
  # @return [Integer]
3199
3443
  #
3444
+ # @!attribute [rw] progress_details
3445
+ # Additional progress details for an Auto Scaling group that has a
3446
+ # warm pool.
3447
+ # @return [Types::InstanceRefreshProgressDetails]
3448
+ #
3200
3449
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefresh AWS API Documentation
3201
3450
  #
3202
3451
  class InstanceRefresh < Struct.new(
@@ -3207,7 +3456,8 @@ module Aws::AutoScaling
3207
3456
  :start_time,
3208
3457
  :end_time,
3209
3458
  :percentage_complete,
3210
- :instances_to_update)
3459
+ :instances_to_update,
3460
+ :progress_details)
3211
3461
  SENSITIVE = []
3212
3462
  include Aws::Structure
3213
3463
  end
@@ -3226,6 +3476,79 @@ module Aws::AutoScaling
3226
3476
  include Aws::Structure
3227
3477
  end
3228
3478
 
3479
+ # Reports the progress of an instance refresh on instances that are in
3480
+ # the Auto Scaling group.
3481
+ #
3482
+ # @!attribute [rw] percentage_complete
3483
+ # The percentage of instances in the Auto Scaling group that have been
3484
+ # replaced. For each instance replacement, Amazon EC2 Auto Scaling
3485
+ # tracks the instance's health status and warm-up time. When the
3486
+ # instance's health status changes to healthy and the specified
3487
+ # warm-up time passes, the instance is considered updated and is added
3488
+ # to the percentage complete.
3489
+ # @return [Integer]
3490
+ #
3491
+ # @!attribute [rw] instances_to_update
3492
+ # The number of instances remaining to update.
3493
+ # @return [Integer]
3494
+ #
3495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshLivePoolProgress AWS API Documentation
3496
+ #
3497
+ class InstanceRefreshLivePoolProgress < Struct.new(
3498
+ :percentage_complete,
3499
+ :instances_to_update)
3500
+ SENSITIVE = []
3501
+ include Aws::Structure
3502
+ end
3503
+
3504
+ # Reports the progress of an instance refresh on an Auto Scaling group
3505
+ # that has a warm pool. This includes separate details for instances in
3506
+ # the warm pool and instances in the Auto Scaling group (the live pool).
3507
+ #
3508
+ # @!attribute [rw] live_pool_progress
3509
+ # Indicates the progress of an instance refresh on instances that are
3510
+ # in the Auto Scaling group.
3511
+ # @return [Types::InstanceRefreshLivePoolProgress]
3512
+ #
3513
+ # @!attribute [rw] warm_pool_progress
3514
+ # Indicates the progress of an instance refresh on instances that are
3515
+ # in the warm pool.
3516
+ # @return [Types::InstanceRefreshWarmPoolProgress]
3517
+ #
3518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshProgressDetails AWS API Documentation
3519
+ #
3520
+ class InstanceRefreshProgressDetails < Struct.new(
3521
+ :live_pool_progress,
3522
+ :warm_pool_progress)
3523
+ SENSITIVE = []
3524
+ include Aws::Structure
3525
+ end
3526
+
3527
+ # Reports the progress of an instance refresh on instances that are in
3528
+ # the warm pool.
3529
+ #
3530
+ # @!attribute [rw] percentage_complete
3531
+ # The percentage of instances in the warm pool that have been
3532
+ # replaced. For each instance replacement, Amazon EC2 Auto Scaling
3533
+ # tracks the instance's health status and warm-up time. When the
3534
+ # instance's health status changes to healthy and the specified
3535
+ # warm-up time passes, the instance is considered updated and is added
3536
+ # to the percentage complete.
3537
+ # @return [Integer]
3538
+ #
3539
+ # @!attribute [rw] instances_to_update
3540
+ # The number of instances remaining to update.
3541
+ # @return [Integer]
3542
+ #
3543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshWarmPoolProgress AWS API Documentation
3544
+ #
3545
+ class InstanceRefreshWarmPoolProgress < Struct.new(
3546
+ :percentage_complete,
3547
+ :instances_to_update)
3548
+ SENSITIVE = []
3549
+ include Aws::Structure
3550
+ end
3551
+
3229
3552
  # Describes an instances distribution for an Auto Scaling group with a
3230
3553
  # MixedInstancesPolicy.
3231
3554
  #
@@ -4147,6 +4470,33 @@ module Aws::AutoScaling
4147
4470
  include Aws::Structure
4148
4471
  end
4149
4472
 
4473
+ # A `GetPredictiveScalingForecast` call returns the load forecast for a
4474
+ # predictive scaling policy. This structure includes the data points for
4475
+ # that load forecast, along with the timestamps of those data points and
4476
+ # the metric specification.
4477
+ #
4478
+ # @!attribute [rw] timestamps
4479
+ # The time stamps for the data points, in UTC format.
4480
+ # @return [Array<Time>]
4481
+ #
4482
+ # @!attribute [rw] values
4483
+ # The values of the data points.
4484
+ # @return [Array<Float>]
4485
+ #
4486
+ # @!attribute [rw] metric_specification
4487
+ # The metric specification for the load forecast.
4488
+ # @return [Types::PredictiveScalingMetricSpecification]
4489
+ #
4490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LoadForecast AWS API Documentation
4491
+ #
4492
+ class LoadForecast < Struct.new(
4493
+ :timestamps,
4494
+ :values,
4495
+ :metric_specification)
4496
+ SENSITIVE = []
4497
+ include Aws::Structure
4498
+ end
4499
+
4150
4500
  # Describes a metric.
4151
4501
  #
4152
4502
  # @!attribute [rw] metric
@@ -4177,6 +4527,20 @@ module Aws::AutoScaling
4177
4527
  # * `GroupTerminatingCapacity`
4178
4528
  #
4179
4529
  # * `GroupTotalCapacity`
4530
+ #
4531
+ # * `WarmPoolDesiredCapacity`
4532
+ #
4533
+ # * `WarmPoolWarmedCapacity`
4534
+ #
4535
+ # * `WarmPoolPendingCapacity`
4536
+ #
4537
+ # * `WarmPoolTerminatingCapacity`
4538
+ #
4539
+ # * `WarmPoolTotalCapacity`
4540
+ #
4541
+ # * `GroupAndWarmPoolDesiredCapacity`
4542
+ #
4543
+ # * `GroupAndWarmPoolTotalCapacity`
4180
4544
  # @return [String]
4181
4545
  #
4182
4546
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MetricCollectionType AWS API Documentation
@@ -4440,6 +4804,372 @@ module Aws::AutoScaling
4440
4804
  include Aws::Structure
4441
4805
  end
4442
4806
 
4807
+ # Represents a predictive scaling policy configuration to use with
4808
+ # Amazon EC2 Auto Scaling.
4809
+ #
4810
+ # @note When making an API call, you may pass PredictiveScalingConfiguration
4811
+ # data as a hash:
4812
+ #
4813
+ # {
4814
+ # metric_specifications: [ # required
4815
+ # {
4816
+ # target_value: 1.0, # required
4817
+ # predefined_metric_pair_specification: {
4818
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
4819
+ # resource_label: "XmlStringMaxLen1023",
4820
+ # },
4821
+ # predefined_scaling_metric_specification: {
4822
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
4823
+ # resource_label: "XmlStringMaxLen1023",
4824
+ # },
4825
+ # predefined_load_metric_specification: {
4826
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
4827
+ # resource_label: "XmlStringMaxLen1023",
4828
+ # },
4829
+ # },
4830
+ # ],
4831
+ # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
4832
+ # scheduling_buffer_time: 1,
4833
+ # max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
4834
+ # max_capacity_buffer: 1,
4835
+ # }
4836
+ #
4837
+ # @!attribute [rw] metric_specifications
4838
+ # This structure includes the metrics and target utilization to use
4839
+ # for predictive scaling.
4840
+ #
4841
+ # This is an array, but we currently only support a single metric
4842
+ # specification. That is, you can specify a target value and a single
4843
+ # metric pair, or a target value and one scaling metric and one load
4844
+ # metric.
4845
+ # @return [Array<Types::PredictiveScalingMetricSpecification>]
4846
+ #
4847
+ # @!attribute [rw] mode
4848
+ # The predictive scaling mode. Defaults to `ForecastOnly` if not
4849
+ # specified.
4850
+ # @return [String]
4851
+ #
4852
+ # @!attribute [rw] scheduling_buffer_time
4853
+ # The amount of time, in seconds, by which the instance launch time
4854
+ # can be advanced. For example, the forecast says to add capacity at
4855
+ # 10:00 AM, and you choose to pre-launch instances by 5 minutes. In
4856
+ # that case, the instances will be launched at 9:55 AM. The intention
4857
+ # is to give resources time to be provisioned. It can take a few
4858
+ # minutes to launch an EC2 instance. The actual amount of time
4859
+ # required depends on several factors, such as the size of the
4860
+ # instance and whether there are startup scripts to complete.
4861
+ #
4862
+ # The value must be less than the forecast interval duration of 3600
4863
+ # seconds (60 minutes). Defaults to 300 seconds if not specified.
4864
+ # @return [Integer]
4865
+ #
4866
+ # @!attribute [rw] max_capacity_breach_behavior
4867
+ # Defines the behavior that should be applied if the forecast capacity
4868
+ # approaches or exceeds the maximum capacity of the Auto Scaling
4869
+ # group. Defaults to `HonorMaxCapacity` if not specified.
4870
+ #
4871
+ # The following are possible values:
4872
+ #
4873
+ # * `HonorMaxCapacity` - Amazon EC2 Auto Scaling cannot scale out
4874
+ # capacity higher than the maximum capacity. The maximum capacity is
4875
+ # enforced as a hard limit.
4876
+ #
4877
+ # * `IncreaseMaxCapacity` - Amazon EC2 Auto Scaling can scale out
4878
+ # capacity higher than the maximum capacity when the forecast
4879
+ # capacity is close to or exceeds the maximum capacity. The upper
4880
+ # limit is determined by the forecasted capacity and the value for
4881
+ # `MaxCapacityBuffer`.
4882
+ # @return [String]
4883
+ #
4884
+ # @!attribute [rw] max_capacity_buffer
4885
+ # The size of the capacity buffer to use when the forecast capacity is
4886
+ # close to or exceeds the maximum capacity. The value is specified as
4887
+ # a percentage relative to the forecast capacity. For example, if the
4888
+ # buffer is 10, this means a 10 percent buffer, such that if the
4889
+ # forecast capacity is 50, and the maximum capacity is 40, then the
4890
+ # effective maximum capacity is 55.
4891
+ #
4892
+ # If set to 0, Amazon EC2 Auto Scaling may scale capacity higher than
4893
+ # the maximum capacity to equal but not exceed forecast capacity.
4894
+ #
4895
+ # Required if the `MaxCapacityBreachBehavior` property is set to
4896
+ # `IncreaseMaxCapacity`, and cannot be used otherwise.
4897
+ # @return [Integer]
4898
+ #
4899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingConfiguration AWS API Documentation
4900
+ #
4901
+ class PredictiveScalingConfiguration < Struct.new(
4902
+ :metric_specifications,
4903
+ :mode,
4904
+ :scheduling_buffer_time,
4905
+ :max_capacity_breach_behavior,
4906
+ :max_capacity_buffer)
4907
+ SENSITIVE = []
4908
+ include Aws::Structure
4909
+ end
4910
+
4911
+ # This structure specifies the metrics and target utilization settings
4912
+ # for a predictive scaling policy.
4913
+ #
4914
+ # You must specify either a metric pair, or a load metric and a scaling
4915
+ # metric individually. Specifying a metric pair instead of individual
4916
+ # metrics provides a simpler way to configure metrics for a scaling
4917
+ # policy. You choose the metric pair, and the policy automatically knows
4918
+ # the correct sum and average statistics to use for the load metric and
4919
+ # the scaling metric.
4920
+ #
4921
+ # Example
4922
+ #
4923
+ # * You create a predictive scaling policy and specify `ALBRequestCount`
4924
+ # as the value for the metric pair and `1000.0` as the target value.
4925
+ # For this type of metric, you must provide the metric dimension for
4926
+ # the corresponding target group, so you also provide a resource label
4927
+ # for the Application Load Balancer target group that is attached to
4928
+ # your Auto Scaling group.
4929
+ #
4930
+ # * The number of requests the target group receives per minute provides
4931
+ # the load metric, and the request count averaged between the members
4932
+ # of the target group provides the scaling metric. In CloudWatch, this
4933
+ # refers to the `RequestCount` and `RequestCountPerTarget` metrics,
4934
+ # respectively.
4935
+ #
4936
+ # * For optimal use of predictive scaling, you adhere to the best
4937
+ # practice of using a dynamic scaling policy to automatically scale
4938
+ # between the minimum capacity and maximum capacity in response to
4939
+ # real-time changes in resource utilization.
4940
+ #
4941
+ # * Amazon EC2 Auto Scaling consumes data points for the load metric
4942
+ # over the last 14 days and creates an hourly load forecast for
4943
+ # predictive scaling. (A minimum of 24 hours of data is required.)
4944
+ #
4945
+ # * After creating the load forecast, Amazon EC2 Auto Scaling determines
4946
+ # when to reduce or increase the capacity of your Auto Scaling group
4947
+ # in each hour of the forecast period so that the average number of
4948
+ # requests received by each instance is as close to 1000 requests per
4949
+ # minute as possible at all times.
4950
+ #
4951
+ # @note When making an API call, you may pass PredictiveScalingMetricSpecification
4952
+ # data as a hash:
4953
+ #
4954
+ # {
4955
+ # target_value: 1.0, # required
4956
+ # predefined_metric_pair_specification: {
4957
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
4958
+ # resource_label: "XmlStringMaxLen1023",
4959
+ # },
4960
+ # predefined_scaling_metric_specification: {
4961
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
4962
+ # resource_label: "XmlStringMaxLen1023",
4963
+ # },
4964
+ # predefined_load_metric_specification: {
4965
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
4966
+ # resource_label: "XmlStringMaxLen1023",
4967
+ # },
4968
+ # }
4969
+ #
4970
+ # @!attribute [rw] target_value
4971
+ # Specifies the target utilization.
4972
+ # @return [Float]
4973
+ #
4974
+ # @!attribute [rw] predefined_metric_pair_specification
4975
+ # The metric pair specification from which Amazon EC2 Auto Scaling
4976
+ # determines the appropriate scaling metric and load metric to use.
4977
+ # @return [Types::PredictiveScalingPredefinedMetricPair]
4978
+ #
4979
+ # @!attribute [rw] predefined_scaling_metric_specification
4980
+ # The scaling metric specification.
4981
+ # @return [Types::PredictiveScalingPredefinedScalingMetric]
4982
+ #
4983
+ # @!attribute [rw] predefined_load_metric_specification
4984
+ # The load metric specification.
4985
+ # @return [Types::PredictiveScalingPredefinedLoadMetric]
4986
+ #
4987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingMetricSpecification AWS API Documentation
4988
+ #
4989
+ class PredictiveScalingMetricSpecification < Struct.new(
4990
+ :target_value,
4991
+ :predefined_metric_pair_specification,
4992
+ :predefined_scaling_metric_specification,
4993
+ :predefined_load_metric_specification)
4994
+ SENSITIVE = []
4995
+ include Aws::Structure
4996
+ end
4997
+
4998
+ # Describes a load metric for a predictive scaling policy.
4999
+ #
5000
+ # When returned in the output of `DescribePolicies`, it indicates that a
5001
+ # predictive scaling policy uses individually specified load and scaling
5002
+ # metrics instead of a metric pair.
5003
+ #
5004
+ # @note When making an API call, you may pass PredictiveScalingPredefinedLoadMetric
5005
+ # data as a hash:
5006
+ #
5007
+ # {
5008
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
5009
+ # resource_label: "XmlStringMaxLen1023",
5010
+ # }
5011
+ #
5012
+ # @!attribute [rw] predefined_metric_type
5013
+ # The metric type.
5014
+ # @return [String]
5015
+ #
5016
+ # @!attribute [rw] resource_label
5017
+ # A label that uniquely identifies a specific Application Load
5018
+ # Balancer target group from which to determine the request count
5019
+ # served by your Auto Scaling group. You can't specify a resource
5020
+ # label unless the target group is attached to the Auto Scaling group.
5021
+ #
5022
+ # You create the resource label by appending the final portion of the
5023
+ # load balancer ARN and the final portion of the target group ARN into
5024
+ # a single value, separated by a forward slash (/). The format of the
5025
+ # resource label is:
5026
+ #
5027
+ # `app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d`.
5028
+ #
5029
+ # Where:
5030
+ #
5031
+ # * app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt; is the
5032
+ # final portion of the load balancer ARN
5033
+ #
5034
+ # * targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is
5035
+ # the final portion of the target group ARN.
5036
+ #
5037
+ # To find the ARN for an Application Load Balancer, use the
5038
+ # [DescribeLoadBalancers][1] API operation. To find the ARN for the
5039
+ # target group, use the [DescribeTargetGroups][2] API operation.
5040
+ #
5041
+ #
5042
+ #
5043
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html
5044
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html
5045
+ # @return [String]
5046
+ #
5047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingPredefinedLoadMetric AWS API Documentation
5048
+ #
5049
+ class PredictiveScalingPredefinedLoadMetric < Struct.new(
5050
+ :predefined_metric_type,
5051
+ :resource_label)
5052
+ SENSITIVE = []
5053
+ include Aws::Structure
5054
+ end
5055
+
5056
+ # Represents a metric pair for a predictive scaling policy.
5057
+ #
5058
+ # @note When making an API call, you may pass PredictiveScalingPredefinedMetricPair
5059
+ # data as a hash:
5060
+ #
5061
+ # {
5062
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
5063
+ # resource_label: "XmlStringMaxLen1023",
5064
+ # }
5065
+ #
5066
+ # @!attribute [rw] predefined_metric_type
5067
+ # Indicates which metrics to use. There are two different types of
5068
+ # metrics for each metric type: one is a load metric and one is a
5069
+ # scaling metric. For example, if the metric type is
5070
+ # `ASGCPUUtilization`, the Auto Scaling group's total CPU metric is
5071
+ # used as the load metric, and the average CPU metric is used for the
5072
+ # scaling metric.
5073
+ # @return [String]
5074
+ #
5075
+ # @!attribute [rw] resource_label
5076
+ # A label that uniquely identifies a specific Application Load
5077
+ # Balancer target group from which to determine the request count
5078
+ # served by your Auto Scaling group. You can't specify a resource
5079
+ # label unless the target group is attached to the Auto Scaling group.
5080
+ #
5081
+ # You create the resource label by appending the final portion of the
5082
+ # load balancer ARN and the final portion of the target group ARN into
5083
+ # a single value, separated by a forward slash (/). The format of the
5084
+ # resource label is:
5085
+ #
5086
+ # `app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d`.
5087
+ #
5088
+ # Where:
5089
+ #
5090
+ # * app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt; is the
5091
+ # final portion of the load balancer ARN
5092
+ #
5093
+ # * targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is
5094
+ # the final portion of the target group ARN.
5095
+ #
5096
+ # To find the ARN for an Application Load Balancer, use the
5097
+ # [DescribeLoadBalancers][1] API operation. To find the ARN for the
5098
+ # target group, use the [DescribeTargetGroups][2] API operation.
5099
+ #
5100
+ #
5101
+ #
5102
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html
5103
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html
5104
+ # @return [String]
5105
+ #
5106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingPredefinedMetricPair AWS API Documentation
5107
+ #
5108
+ class PredictiveScalingPredefinedMetricPair < Struct.new(
5109
+ :predefined_metric_type,
5110
+ :resource_label)
5111
+ SENSITIVE = []
5112
+ include Aws::Structure
5113
+ end
5114
+
5115
+ # Describes a scaling metric for a predictive scaling policy.
5116
+ #
5117
+ # When returned in the output of `DescribePolicies`, it indicates that a
5118
+ # predictive scaling policy uses individually specified load and scaling
5119
+ # metrics instead of a metric pair.
5120
+ #
5121
+ # @note When making an API call, you may pass PredictiveScalingPredefinedScalingMetric
5122
+ # data as a hash:
5123
+ #
5124
+ # {
5125
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
5126
+ # resource_label: "XmlStringMaxLen1023",
5127
+ # }
5128
+ #
5129
+ # @!attribute [rw] predefined_metric_type
5130
+ # The metric type.
5131
+ # @return [String]
5132
+ #
5133
+ # @!attribute [rw] resource_label
5134
+ # A label that uniquely identifies a specific Application Load
5135
+ # Balancer target group from which to determine the request count
5136
+ # served by your Auto Scaling group. You can't specify a resource
5137
+ # label unless the target group is attached to the Auto Scaling group.
5138
+ #
5139
+ # You create the resource label by appending the final portion of the
5140
+ # load balancer ARN and the final portion of the target group ARN into
5141
+ # a single value, separated by a forward slash (/). The format of the
5142
+ # resource label is:
5143
+ #
5144
+ # `app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d`.
5145
+ #
5146
+ # Where:
5147
+ #
5148
+ # * app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt; is the
5149
+ # final portion of the load balancer ARN
5150
+ #
5151
+ # * targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is
5152
+ # the final portion of the target group ARN.
5153
+ #
5154
+ # To find the ARN for an Application Load Balancer, use the
5155
+ # [DescribeLoadBalancers][1] API operation. To find the ARN for the
5156
+ # target group, use the [DescribeTargetGroups][2] API operation.
5157
+ #
5158
+ #
5159
+ #
5160
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html
5161
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html
5162
+ # @return [String]
5163
+ #
5164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingPredefinedScalingMetric AWS API Documentation
5165
+ #
5166
+ class PredictiveScalingPredefinedScalingMetric < Struct.new(
5167
+ :predefined_metric_type,
5168
+ :resource_label)
5169
+ SENSITIVE = []
5170
+ include Aws::Structure
5171
+ end
5172
+
4443
5173
  # Describes a process type.
4444
5174
  #
4445
5175
  # For more information, see [Scaling processes][1] in the *Amazon EC2
@@ -4670,6 +5400,29 @@ module Aws::AutoScaling
4670
5400
  # disable_scale_in: false,
4671
5401
  # },
4672
5402
  # enabled: false,
5403
+ # predictive_scaling_configuration: {
5404
+ # metric_specifications: [ # required
5405
+ # {
5406
+ # target_value: 1.0, # required
5407
+ # predefined_metric_pair_specification: {
5408
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
5409
+ # resource_label: "XmlStringMaxLen1023",
5410
+ # },
5411
+ # predefined_scaling_metric_specification: {
5412
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
5413
+ # resource_label: "XmlStringMaxLen1023",
5414
+ # },
5415
+ # predefined_load_metric_specification: {
5416
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
5417
+ # resource_label: "XmlStringMaxLen1023",
5418
+ # },
5419
+ # },
5420
+ # ],
5421
+ # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
5422
+ # scheduling_buffer_time: 1,
5423
+ # max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
5424
+ # max_capacity_buffer: 1,
5425
+ # },
4673
5426
  # }
4674
5427
  #
4675
5428
  # @!attribute [rw] auto_scaling_group_name
@@ -4688,6 +5441,8 @@ module Aws::AutoScaling
4688
5441
  # * `StepScaling`
4689
5442
  #
4690
5443
  # * `SimpleScaling` (default)
5444
+ #
5445
+ # * `PredictiveScaling`
4691
5446
  # @return [String]
4692
5447
  #
4693
5448
  # @!attribute [rw] adjustment_type
@@ -4784,7 +5539,7 @@ module Aws::AutoScaling
4784
5539
  # @return [Integer]
4785
5540
  #
4786
5541
  # @!attribute [rw] target_tracking_configuration
4787
- # A target tracking scaling policy. Includes support for predefined or
5542
+ # A target tracking scaling policy. Provides support for predefined or
4788
5543
  # customized metrics.
4789
5544
  #
4790
5545
  # The following predefined metrics are available:
@@ -4822,6 +5577,23 @@ module Aws::AutoScaling
4822
5577
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html
4823
5578
  # @return [Boolean]
4824
5579
  #
5580
+ # @!attribute [rw] predictive_scaling_configuration
5581
+ # A predictive scaling policy. Provides support for only predefined
5582
+ # metrics.
5583
+ #
5584
+ # Predictive scaling works with CPU utilization, network in/out, and
5585
+ # the Application Load Balancer request count.
5586
+ #
5587
+ # For more information, see [PredictiveScalingConfiguration][1] in the
5588
+ # *Amazon EC2 Auto Scaling API Reference*.
5589
+ #
5590
+ # Required if the policy type is `PredictiveScaling`.
5591
+ #
5592
+ #
5593
+ #
5594
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingConfiguration.html
5595
+ # @return [Types::PredictiveScalingConfiguration]
5596
+ #
4825
5597
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScalingPolicyType AWS API Documentation
4826
5598
  #
4827
5599
  class PutScalingPolicyType < Struct.new(
@@ -4837,7 +5609,8 @@ module Aws::AutoScaling
4837
5609
  :step_adjustments,
4838
5610
  :estimated_instance_warmup,
4839
5611
  :target_tracking_configuration,
4840
- :enabled)
5612
+ :enabled,
5613
+ :predictive_scaling_configuration)
4841
5614
  SENSITIVE = []
4842
5615
  include Aws::Structure
4843
5616
  end
@@ -4855,6 +5628,7 @@ module Aws::AutoScaling
4855
5628
  # min_size: 1,
4856
5629
  # max_size: 1,
4857
5630
  # desired_capacity: 1,
5631
+ # time_zone: "XmlStringMaxLen255",
4858
5632
  # }
4859
5633
  #
4860
5634
  # @!attribute [rw] auto_scaling_group_name
@@ -4883,21 +5657,21 @@ module Aws::AutoScaling
4883
5657
  # @return [Time]
4884
5658
  #
4885
5659
  # @!attribute [rw] end_time
4886
- # The date and time for the recurring schedule to end. Amazon EC2 Auto
4887
- # Scaling does not perform the action after this time.
5660
+ # The date and time for the recurring schedule to end, in UTC.
4888
5661
  # @return [Time]
4889
5662
  #
4890
5663
  # @!attribute [rw] recurrence
4891
- # The recurring schedule for this action, in Unix cron syntax format.
4892
- # This format consists of five fields separated by white spaces:
4893
- # \[Minute\] \[Hour\] \[Day\_of\_Month\] \[Month\_of\_Year\]
4894
- # \[Day\_of\_Week\]. The value must be in quotes (for example, `"30 0
4895
- # 1 1,6,12 *"`). For more information about this format, see
4896
- # [Crontab][1].
5664
+ # The recurring schedule for this action. This format consists of five
5665
+ # fields separated by white spaces: \[Minute\] \[Hour\]
5666
+ # \[Day\_of\_Month\] \[Month\_of\_Year\] \[Day\_of\_Week\]. The value
5667
+ # must be in quotes (for example, `"30 0 1 1,6,12 *"`). For more
5668
+ # information about this format, see [Crontab][1].
4897
5669
  #
4898
5670
  # When `StartTime` and `EndTime` are specified with `Recurrence`, they
4899
5671
  # form the boundaries of when the recurring action starts and stops.
4900
5672
  #
5673
+ # Cron expressions use Universal Coordinated Time (UTC) by default.
5674
+ #
4901
5675
  #
4902
5676
  #
4903
5677
  # [1]: http://crontab.org
@@ -4918,6 +5692,20 @@ module Aws::AutoScaling
4918
5692
  # scaling conditions.
4919
5693
  # @return [Integer]
4920
5694
  #
5695
+ # @!attribute [rw] time_zone
5696
+ # Specifies the time zone for a cron expression. If a time zone is not
5697
+ # provided, UTC is used by default.
5698
+ #
5699
+ # Valid values are the canonical names of the IANA time zones, derived
5700
+ # from the IANA Time Zone Database (such as `Etc/GMT+9` or
5701
+ # `Pacific/Tahiti`). For more information, see
5702
+ # [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones][1].
5703
+ #
5704
+ #
5705
+ #
5706
+ # [1]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
5707
+ # @return [String]
5708
+ #
4921
5709
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScheduledUpdateGroupActionType AWS API Documentation
4922
5710
  #
4923
5711
  class PutScheduledUpdateGroupActionType < Struct.new(
@@ -4929,7 +5717,73 @@ module Aws::AutoScaling
4929
5717
  :recurrence,
4930
5718
  :min_size,
4931
5719
  :max_size,
4932
- :desired_capacity)
5720
+ :desired_capacity,
5721
+ :time_zone)
5722
+ SENSITIVE = []
5723
+ include Aws::Structure
5724
+ end
5725
+
5726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPoolAnswer AWS API Documentation
5727
+ #
5728
+ class PutWarmPoolAnswer < Aws::EmptyStructure; end
5729
+
5730
+ # @note When making an API call, you may pass PutWarmPoolType
5731
+ # data as a hash:
5732
+ #
5733
+ # {
5734
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
5735
+ # max_group_prepared_capacity: 1,
5736
+ # min_size: 1,
5737
+ # pool_state: "Stopped", # accepts Stopped, Running
5738
+ # }
5739
+ #
5740
+ # @!attribute [rw] auto_scaling_group_name
5741
+ # The name of the Auto Scaling group.
5742
+ # @return [String]
5743
+ #
5744
+ # @!attribute [rw] max_group_prepared_capacity
5745
+ # Specifies the maximum number of instances that are allowed to be in
5746
+ # the warm pool or in any state except `Terminated` for the Auto
5747
+ # Scaling group. This is an optional property. Specify it only if you
5748
+ # do not want the warm pool size to be determined by the difference
5749
+ # between the group's maximum capacity and its desired capacity.
5750
+ #
5751
+ # If a value for `MaxGroupPreparedCapacity` is not specified, Amazon
5752
+ # EC2 Auto Scaling launches and maintains the difference between the
5753
+ # group's maximum capacity and its desired capacity. If you specify a
5754
+ # value for `MaxGroupPreparedCapacity`, Amazon EC2 Auto Scaling uses
5755
+ # the difference between the `MaxGroupPreparedCapacity` and the
5756
+ # desired capacity instead.
5757
+ #
5758
+ # The size of the warm pool is dynamic. Only when
5759
+ # `MaxGroupPreparedCapacity` and `MinSize` are set to the same value
5760
+ # does the warm pool have an absolute size.
5761
+ #
5762
+ # If the desired capacity of the Auto Scaling group is higher than the
5763
+ # `MaxGroupPreparedCapacity`, the capacity of the warm pool is 0,
5764
+ # unless you specify a value for `MinSize`. To remove a value that you
5765
+ # previously set, include the property but specify -1 for the value.
5766
+ # @return [Integer]
5767
+ #
5768
+ # @!attribute [rw] min_size
5769
+ # Specifies the minimum number of instances to maintain in the warm
5770
+ # pool. This helps you to ensure that there is always a certain number
5771
+ # of warmed instances available to handle traffic spikes. Defaults to
5772
+ # 0 if not specified.
5773
+ # @return [Integer]
5774
+ #
5775
+ # @!attribute [rw] pool_state
5776
+ # Sets the instance state to transition to after the lifecycle actions
5777
+ # are complete. Default is `Stopped`.
5778
+ # @return [String]
5779
+ #
5780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPoolType AWS API Documentation
5781
+ #
5782
+ class PutWarmPoolType < Struct.new(
5783
+ :auto_scaling_group_name,
5784
+ :max_group_prepared_capacity,
5785
+ :min_size,
5786
+ :pool_state)
4933
5787
  SENSITIVE = []
4934
5788
  include Aws::Structure
4935
5789
  end
@@ -4980,12 +5834,18 @@ module Aws::AutoScaling
4980
5834
 
4981
5835
  # Describes information used to start an instance refresh.
4982
5836
  #
5837
+ # All properties are optional. However, if you specify a value for
5838
+ # `CheckpointDelay`, you must also provide a value for
5839
+ # `CheckpointPercentages`.
5840
+ #
4983
5841
  # @note When making an API call, you may pass RefreshPreferences
4984
5842
  # data as a hash:
4985
5843
  #
4986
5844
  # {
4987
5845
  # min_healthy_percentage: 1,
4988
5846
  # instance_warmup: 1,
5847
+ # checkpoint_percentages: [1],
5848
+ # checkpoint_delay: 1,
4989
5849
  # }
4990
5850
  #
4991
5851
  # @!attribute [rw] min_healthy_percentage
@@ -5003,11 +5863,35 @@ module Aws::AutoScaling
5003
5863
  # the value for the health check grace period defined for the group.
5004
5864
  # @return [Integer]
5005
5865
  #
5866
+ # @!attribute [rw] checkpoint_percentages
5867
+ # Threshold values for each checkpoint in ascending order. Each number
5868
+ # must be unique. To replace all instances in the Auto Scaling group,
5869
+ # the last number in the array must be `100`.
5870
+ #
5871
+ # For usage examples, see [Adding checkpoints to an instance
5872
+ # refresh][1] in the *Amazon EC2 Auto Scaling User Guide*.
5873
+ #
5874
+ #
5875
+ #
5876
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-adding-checkpoints-instance-refresh.html
5877
+ # @return [Array<Integer>]
5878
+ #
5879
+ # @!attribute [rw] checkpoint_delay
5880
+ # The amount of time, in seconds, to wait after a checkpoint before
5881
+ # continuing. This property is optional, but if you specify a value
5882
+ # for it, you must also specify a value for `CheckpointPercentages`.
5883
+ # If you specify a value for `CheckpointPercentages` and not for
5884
+ # `CheckpointDelay`, the `CheckpointDelay` defaults to `3600` (1
5885
+ # hour).
5886
+ # @return [Integer]
5887
+ #
5006
5888
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RefreshPreferences AWS API Documentation
5007
5889
  #
5008
5890
  class RefreshPreferences < Struct.new(
5009
5891
  :min_healthy_percentage,
5010
- :instance_warmup)
5892
+ :instance_warmup,
5893
+ :checkpoint_percentages,
5894
+ :checkpoint_delay)
5011
5895
  SENSITIVE = []
5012
5896
  include Aws::Structure
5013
5897
  end
@@ -5077,6 +5961,8 @@ module Aws::AutoScaling
5077
5961
  #
5078
5962
  # * `SimpleScaling` (default)
5079
5963
  #
5964
+ # * `PredictiveScaling`
5965
+ #
5080
5966
  # For more information, see [Target tracking scaling policies][1] and
5081
5967
  # [Step and simple scaling policies][2] in the *Amazon EC2 Auto
5082
5968
  # Scaling User Guide*.
@@ -5141,6 +6027,10 @@ module Aws::AutoScaling
5141
6027
  # (`false`).
5142
6028
  # @return [Boolean]
5143
6029
  #
6030
+ # @!attribute [rw] predictive_scaling_configuration
6031
+ # A predictive scaling policy.
6032
+ # @return [Types::PredictiveScalingConfiguration]
6033
+ #
5144
6034
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ScalingPolicy AWS API Documentation
5145
6035
  #
5146
6036
  class ScalingPolicy < Struct.new(
@@ -5158,7 +6048,8 @@ module Aws::AutoScaling
5158
6048
  :estimated_instance_warmup,
5159
6049
  :alarms,
5160
6050
  :target_tracking_configuration,
5161
- :enabled)
6051
+ :enabled,
6052
+ :predictive_scaling_configuration)
5162
6053
  SENSITIVE = []
5163
6054
  include Aws::Structure
5164
6055
  end
@@ -5278,6 +6169,10 @@ module Aws::AutoScaling
5278
6169
  # to maintain.
5279
6170
  # @return [Integer]
5280
6171
  #
6172
+ # @!attribute [rw] time_zone
6173
+ # The time zone for the cron expression.
6174
+ # @return [String]
6175
+ #
5281
6176
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ScheduledUpdateGroupAction AWS API Documentation
5282
6177
  #
5283
6178
  class ScheduledUpdateGroupAction < Struct.new(
@@ -5290,7 +6185,8 @@ module Aws::AutoScaling
5290
6185
  :recurrence,
5291
6186
  :min_size,
5292
6187
  :max_size,
5293
- :desired_capacity)
6188
+ :desired_capacity,
6189
+ :time_zone)
5294
6190
  SENSITIVE = []
5295
6191
  include Aws::Structure
5296
6192
  end
@@ -5298,9 +6194,6 @@ module Aws::AutoScaling
5298
6194
  # Describes information used for one or more scheduled scaling action
5299
6195
  # updates in a BatchPutScheduledUpdateGroupAction operation.
5300
6196
  #
5301
- # When updating a scheduled scaling action, all optional parameters are
5302
- # left unchanged if not specified.
5303
- #
5304
6197
  # @note When making an API call, you may pass ScheduledUpdateGroupActionRequest
5305
6198
  # data as a hash:
5306
6199
  #
@@ -5312,6 +6205,7 @@ module Aws::AutoScaling
5312
6205
  # min_size: 1,
5313
6206
  # max_size: 1,
5314
6207
  # desired_capacity: 1,
6208
+ # time_zone: "XmlStringMaxLen255",
5315
6209
  # }
5316
6210
  #
5317
6211
  # @!attribute [rw] scheduled_action_name
@@ -5332,8 +6226,7 @@ module Aws::AutoScaling
5332
6226
  # @return [Time]
5333
6227
  #
5334
6228
  # @!attribute [rw] end_time
5335
- # The date and time for the recurring schedule to end. Amazon EC2 Auto
5336
- # Scaling does not perform the action after this time.
6229
+ # The date and time for the recurring schedule to end, in UTC.
5337
6230
  # @return [Time]
5338
6231
  #
5339
6232
  # @!attribute [rw] recurrence
@@ -5347,6 +6240,8 @@ module Aws::AutoScaling
5347
6240
  # When `StartTime` and `EndTime` are specified with `Recurrence`, they
5348
6241
  # form the boundaries of when the recurring action starts and stops.
5349
6242
  #
6243
+ # Cron expressions use Universal Coordinated Time (UTC) by default.
6244
+ #
5350
6245
  #
5351
6246
  #
5352
6247
  # [1]: http://crontab.org
@@ -5366,6 +6261,20 @@ module Aws::AutoScaling
5366
6261
  # to maintain.
5367
6262
  # @return [Integer]
5368
6263
  #
6264
+ # @!attribute [rw] time_zone
6265
+ # Specifies the time zone for a cron expression. If a time zone is not
6266
+ # provided, UTC is used by default.
6267
+ #
6268
+ # Valid values are the canonical names of the IANA time zones, derived
6269
+ # from the IANA Time Zone Database (such as `Etc/GMT+9` or
6270
+ # `Pacific/Tahiti`). For more information, see
6271
+ # [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones][1].
6272
+ #
6273
+ #
6274
+ #
6275
+ # [1]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
6276
+ # @return [String]
6277
+ #
5369
6278
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ScheduledUpdateGroupActionRequest AWS API Documentation
5370
6279
  #
5371
6280
  class ScheduledUpdateGroupActionRequest < Struct.new(
@@ -5375,7 +6284,8 @@ module Aws::AutoScaling
5375
6284
  :recurrence,
5376
6285
  :min_size,
5377
6286
  :max_size,
5378
- :desired_capacity)
6287
+ :desired_capacity,
6288
+ :time_zone)
5379
6289
  SENSITIVE = []
5380
6290
  include Aws::Structure
5381
6291
  end
@@ -5532,6 +6442,8 @@ module Aws::AutoScaling
5532
6442
  # preferences: {
5533
6443
  # min_healthy_percentage: 1,
5534
6444
  # instance_warmup: 1,
6445
+ # checkpoint_percentages: [1],
6446
+ # checkpoint_delay: 1,
5535
6447
  # },
5536
6448
  # }
5537
6449
  #
@@ -6123,5 +7035,36 @@ module Aws::AutoScaling
6123
7035
  include Aws::Structure
6124
7036
  end
6125
7037
 
7038
+ # Describes a warm pool configuration.
7039
+ #
7040
+ # @!attribute [rw] max_group_prepared_capacity
7041
+ # The maximum number of instances that are allowed to be in the warm
7042
+ # pool or in any state except `Terminated` for the Auto Scaling group.
7043
+ # @return [Integer]
7044
+ #
7045
+ # @!attribute [rw] min_size
7046
+ # The minimum number of instances to maintain in the warm pool.
7047
+ # @return [Integer]
7048
+ #
7049
+ # @!attribute [rw] pool_state
7050
+ # The instance state to transition to after the lifecycle actions are
7051
+ # complete.
7052
+ # @return [String]
7053
+ #
7054
+ # @!attribute [rw] status
7055
+ # The status of a warm pool that is marked for deletion.
7056
+ # @return [String]
7057
+ #
7058
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/WarmPoolConfiguration AWS API Documentation
7059
+ #
7060
+ class WarmPoolConfiguration < Struct.new(
7061
+ :max_group_prepared_capacity,
7062
+ :min_size,
7063
+ :pool_state,
7064
+ :status)
7065
+ SENSITIVE = []
7066
+ include Aws::Structure
7067
+ end
7068
+
6126
7069
  end
6127
7070
  end