aws-sdk-autoscaling 1.59.0 → 1.64.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.
@@ -110,6 +110,7 @@ module Aws::AutoScaling
110
110
  # ],
111
111
  # service_linked_role_arn: "ResourceName",
112
112
  # max_instance_lifetime: 1,
113
+ # context: "Context",
113
114
  # })
114
115
  # @param [Hash] options ({})
115
116
  # @option options [required, String] :auto_scaling_group_name
@@ -319,11 +320,11 @@ module Aws::AutoScaling
319
320
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
320
321
  # @option options [String] :service_linked_role_arn
321
322
  # The Amazon Resource Name (ARN) of the service-linked role that the
322
- # Auto Scaling group uses to call other AWS services on your behalf. By
323
- # default, Amazon EC2 Auto Scaling uses a service-linked role named
324
- # AWSServiceRoleForAutoScaling, which it creates if it does not exist.
325
- # For more information, see [Service-linked roles][1] in the *Amazon EC2
326
- # Auto Scaling User Guide*.
323
+ # Auto Scaling group uses to call other Amazon Web Services on your
324
+ # behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role
325
+ # named `AWSServiceRoleForAutoScaling`, which it creates if it does not
326
+ # exist. For more information, see [Service-linked roles][1] in the
327
+ # *Amazon EC2 Auto Scaling User Guide*.
327
328
  #
328
329
  #
329
330
  #
@@ -338,6 +339,8 @@ module Aws::AutoScaling
338
339
  #
339
340
  #
340
341
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html
342
+ # @option options [String] :context
343
+ # Reserved.
341
344
  # @return [AutoScalingGroup]
342
345
  def create_group(options = {})
343
346
  @client.create_auto_scaling_group(options)
@@ -372,6 +375,7 @@ module Aws::AutoScaling
372
375
  # delete_on_termination: false,
373
376
  # iops: 1,
374
377
  # encrypted: false,
378
+ # throughput: 1,
375
379
  # },
376
380
  # no_device: false,
377
381
  # },
@@ -637,11 +641,13 @@ module Aws::AutoScaling
637
641
  # })
638
642
  # @param [Hash] options ({})
639
643
  # @option options [Array<String>] :activity_ids
640
- # The activity IDs of the desired scaling activities. You can specify up
641
- # to 50 IDs. If you omit this parameter, all activities for the past six
642
- # weeks are described. If unknown activities are requested, they are
643
- # ignored with no error. If you specify an Auto Scaling group, the
644
- # results are limited to that group.
644
+ # The activity IDs of the desired scaling activities. If you omit this
645
+ # parameter, all activities for the past six weeks are described. If
646
+ # unknown activities are requested, they are ignored with no error. If
647
+ # you specify an Auto Scaling group, the results are limited to that
648
+ # group.
649
+ #
650
+ # Array Members: Maximum number of 50 IDs.
645
651
  # @option options [String] :auto_scaling_group_name
646
652
  # The name of the Auto Scaling group.
647
653
  # @option options [Boolean] :include_deleted_groups
@@ -722,9 +728,11 @@ module Aws::AutoScaling
722
728
  # })
723
729
  # @param [Hash] options ({})
724
730
  # @option options [Array<String>] :instance_ids
725
- # The IDs of the instances. You can specify up to `MaxRecords` IDs. If
726
- # you omit this parameter, all Auto Scaling instances are described. If
727
- # you specify an ID that does not exist, it is ignored with no error.
731
+ # The IDs of the instances. If you omit this parameter, all Auto Scaling
732
+ # instances are described. If you specify an ID that does not exist, it
733
+ # is ignored with no error.
734
+ #
735
+ # Array Members: Maximum number of 50 items.
728
736
  # @return [Instance::Collection]
729
737
  def instances(options = {})
730
738
  batches = Enumerator.new do |y|
@@ -763,6 +771,8 @@ module Aws::AutoScaling
763
771
  # @option options [Array<String>] :launch_configuration_names
764
772
  # The launch configuration names. If you omit this parameter, all launch
765
773
  # configurations are described.
774
+ #
775
+ # Array Members: Maximum number of 50 items.
766
776
  # @return [LaunchConfiguration::Collection]
767
777
  def launch_configurations(options = {})
768
778
  batches = Enumerator.new do |y|
@@ -795,11 +805,13 @@ module Aws::AutoScaling
795
805
  # @option options [Array<String>] :policy_names
796
806
  # The names of one or more policies. If you omit this parameter, all
797
807
  # policies are described. If a group name is provided, the results are
798
- # limited to that group. This list is limited to 50 items. If you
799
- # specify an unknown policy name, it is ignored with no error.
808
+ # limited to that group. If you specify an unknown policy name, it is
809
+ # ignored with no error.
810
+ #
811
+ # Array Members: Maximum number of 50 items.
800
812
  # @option options [Array<String>] :policy_types
801
813
  # One or more policy types. The valid values are `SimpleScaling`,
802
- # `StepScaling`, and `TargetTrackingScaling`.
814
+ # `StepScaling`, `TargetTrackingScaling`, and `PredictiveScaling`.
803
815
  # @return [ScalingPolicy::Collection]
804
816
  def policies(options = {})
805
817
  batches = Enumerator.new do |y|
@@ -849,10 +861,11 @@ module Aws::AutoScaling
849
861
  # @option options [String] :auto_scaling_group_name
850
862
  # The name of the Auto Scaling group.
851
863
  # @option options [Array<String>] :scheduled_action_names
852
- # The names of one or more scheduled actions. You can specify up to 50
853
- # actions. If you omit this parameter, all scheduled actions are
854
- # described. If you specify an unknown scheduled action, it is ignored
855
- # with no error.
864
+ # The names of one or more scheduled actions. If you omit this
865
+ # parameter, all scheduled actions are described. If you specify an
866
+ # unknown scheduled action, it is ignored with no error.
867
+ #
868
+ # Array Members: Maximum number of 50 actions.
856
869
  # @option options [Time,DateTime,Date,Integer,String] :start_time
857
870
  # The earliest scheduled start time to return. If scheduled action names
858
871
  # are provided, this parameter is ignored.
@@ -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]
@@ -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]
@@ -323,9 +328,9 @@ module Aws::AutoScaling
323
328
  #
324
329
  # @!attribute [rw] health_check_type
325
330
  # The service to use for the health checks. The valid values are `EC2`
326
- # and `ELB`. If you configure an Auto Scaling group to use ELB health
327
- # checks, it considers the instance unhealthy if it fails either the
328
- # EC2 status checks or the load balancer health checks.
331
+ # and `ELB`. If you configure an Auto Scaling group to use `ELB`
332
+ # health checks, it considers the instance unhealthy if it fails
333
+ # either the EC2 status checks or the load balancer health checks.
329
334
  # @return [String]
330
335
  #
331
336
  # @!attribute [rw] health_check_grace_period
@@ -379,7 +384,8 @@ module Aws::AutoScaling
379
384
  #
380
385
  # @!attribute [rw] service_linked_role_arn
381
386
  # The Amazon Resource Name (ARN) of the service-linked role that the
382
- # Auto Scaling group uses to call other AWS services on your behalf.
387
+ # Auto Scaling group uses to call other Amazon Web Services on your
388
+ # behalf.
383
389
  # @return [String]
384
390
  #
385
391
  # @!attribute [rw] max_instance_lifetime
@@ -393,6 +399,18 @@ module Aws::AutoScaling
393
399
  # Indicates whether Capacity Rebalancing is enabled.
394
400
  # @return [Boolean]
395
401
  #
402
+ # @!attribute [rw] warm_pool_configuration
403
+ # The warm pool for the group.
404
+ # @return [Types::WarmPoolConfiguration]
405
+ #
406
+ # @!attribute [rw] warm_pool_size
407
+ # The current size of the warm pool.
408
+ # @return [Integer]
409
+ #
410
+ # @!attribute [rw] context
411
+ # Reserved.
412
+ # @return [String]
413
+ #
396
414
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AutoScalingGroup AWS API Documentation
397
415
  #
398
416
  class AutoScalingGroup < Struct.new(
@@ -404,6 +422,7 @@ module Aws::AutoScaling
404
422
  :min_size,
405
423
  :max_size,
406
424
  :desired_capacity,
425
+ :predicted_capacity,
407
426
  :default_cooldown,
408
427
  :availability_zones,
409
428
  :load_balancer_names,
@@ -422,7 +441,10 @@ module Aws::AutoScaling
422
441
  :new_instances_protected_from_scale_in,
423
442
  :service_linked_role_arn,
424
443
  :max_instance_lifetime,
425
- :capacity_rebalance)
444
+ :capacity_rebalance,
445
+ :warm_pool_configuration,
446
+ :warm_pool_size,
447
+ :context)
426
448
  SENSITIVE = []
427
449
  include Aws::Structure
428
450
  end
@@ -511,7 +533,11 @@ module Aws::AutoScaling
511
533
  # Valid Values: `Pending` \| `Pending:Wait` \| `Pending:Proceed` \|
512
534
  # `Quarantined` \| `InService` \| `Terminating` \| `Terminating:Wait`
513
535
  # \| `Terminating:Proceed` \| `Terminated` \| `Detaching` \|
514
- # `Detached` \| `EnteringStandby` \| `Standby`
536
+ # `Detached` \| `EnteringStandby` \| `Standby` \| `Warmed:Pending` \|
537
+ # `Warmed:Pending:Wait` \| `Warmed:Pending:Proceed` \|
538
+ # `Warmed:Terminating` \| `Warmed:Terminating:Wait` \|
539
+ # `Warmed:Terminating:Proceed` \| `Warmed:Terminated` \|
540
+ # `Warmed:Stopped` \| `Warmed:Running`
515
541
  #
516
542
  #
517
543
  #
@@ -688,6 +714,7 @@ module Aws::AutoScaling
688
714
  # delete_on_termination: false,
689
715
  # iops: 1,
690
716
  # encrypted: false,
717
+ # throughput: 1,
691
718
  # },
692
719
  # no_device: false,
693
720
  # }
@@ -768,6 +795,28 @@ module Aws::AutoScaling
768
795
  include Aws::Structure
769
796
  end
770
797
 
798
+ # A `GetPredictiveScalingForecast` call returns the capacity forecast
799
+ # for a predictive scaling policy. This structure includes the data
800
+ # points for that capacity forecast, along with the timestamps of those
801
+ # data points.
802
+ #
803
+ # @!attribute [rw] timestamps
804
+ # The time stamps for the data points, in UTC format.
805
+ # @return [Array<Time>]
806
+ #
807
+ # @!attribute [rw] values
808
+ # The values of the data points.
809
+ # @return [Array<Float>]
810
+ #
811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CapacityForecast AWS API Documentation
812
+ #
813
+ class CapacityForecast < Struct.new(
814
+ :timestamps,
815
+ :values)
816
+ SENSITIVE = []
817
+ include Aws::Structure
818
+ end
819
+
771
820
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CompleteLifecycleActionAnswer AWS API Documentation
772
821
  #
773
822
  class CompleteLifecycleActionAnswer < Aws::EmptyStructure; end
@@ -895,6 +944,7 @@ module Aws::AutoScaling
895
944
  # ],
896
945
  # service_linked_role_arn: "ResourceName",
897
946
  # max_instance_lifetime: 1,
947
+ # context: "Context",
898
948
  # }
899
949
  #
900
950
  # @!attribute [rw] auto_scaling_group_name
@@ -1151,11 +1201,11 @@ module Aws::AutoScaling
1151
1201
  #
1152
1202
  # @!attribute [rw] service_linked_role_arn
1153
1203
  # The Amazon Resource Name (ARN) of the service-linked role that the
1154
- # Auto Scaling group uses to call other AWS services on your behalf.
1155
- # By default, Amazon EC2 Auto Scaling uses a service-linked role named
1156
- # AWSServiceRoleForAutoScaling, which it creates if it does not exist.
1157
- # For more information, see [Service-linked roles][1] in the *Amazon
1158
- # EC2 Auto Scaling User Guide*.
1204
+ # Auto Scaling group uses to call other Amazon Web Services on your
1205
+ # behalf. By default, Amazon EC2 Auto Scaling uses a service-linked
1206
+ # role named `AWSServiceRoleForAutoScaling`, which it creates if it
1207
+ # does not exist. For more information, see [Service-linked roles][1]
1208
+ # in the *Amazon EC2 Auto Scaling User Guide*.
1159
1209
  #
1160
1210
  #
1161
1211
  #
@@ -1175,6 +1225,10 @@ module Aws::AutoScaling
1175
1225
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html
1176
1226
  # @return [Integer]
1177
1227
  #
1228
+ # @!attribute [rw] context
1229
+ # Reserved.
1230
+ # @return [String]
1231
+ #
1178
1232
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroupType AWS API Documentation
1179
1233
  #
1180
1234
  class CreateAutoScalingGroupType < Struct.new(
@@ -1200,7 +1254,8 @@ module Aws::AutoScaling
1200
1254
  :lifecycle_hook_specification_list,
1201
1255
  :tags,
1202
1256
  :service_linked_role_arn,
1203
- :max_instance_lifetime)
1257
+ :max_instance_lifetime,
1258
+ :context)
1204
1259
  SENSITIVE = []
1205
1260
  include Aws::Structure
1206
1261
  end
@@ -1231,6 +1286,7 @@ module Aws::AutoScaling
1231
1286
  # delete_on_termination: false,
1232
1287
  # iops: 1,
1233
1288
  # encrypted: false,
1289
+ # throughput: 1,
1234
1290
  # },
1235
1291
  # no_device: false,
1236
1292
  # },
@@ -1660,8 +1716,8 @@ module Aws::AutoScaling
1660
1716
  # @!attribute [rw] force_delete
1661
1717
  # Specifies that the group is to be deleted along with all instances
1662
1718
  # associated with the group, without waiting for all instances to be
1663
- # terminated. This parameter also deletes any lifecycle actions
1664
- # associated with the group.
1719
+ # terminated. This parameter also deletes any outstanding lifecycle
1720
+ # actions associated with the group.
1665
1721
  # @return [Boolean]
1666
1722
  #
1667
1723
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteAutoScalingGroupType AWS API Documentation
@@ -1805,22 +1861,54 @@ module Aws::AutoScaling
1805
1861
  include Aws::Structure
1806
1862
  end
1807
1863
 
1864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPoolAnswer AWS API Documentation
1865
+ #
1866
+ class DeleteWarmPoolAnswer < Aws::EmptyStructure; end
1867
+
1868
+ # @note When making an API call, you may pass DeleteWarmPoolType
1869
+ # data as a hash:
1870
+ #
1871
+ # {
1872
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
1873
+ # force_delete: false,
1874
+ # }
1875
+ #
1876
+ # @!attribute [rw] auto_scaling_group_name
1877
+ # The name of the Auto Scaling group.
1878
+ # @return [String]
1879
+ #
1880
+ # @!attribute [rw] 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
+ # @return [Boolean]
1886
+ #
1887
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPoolType AWS API Documentation
1888
+ #
1889
+ class DeleteWarmPoolType < Struct.new(
1890
+ :auto_scaling_group_name,
1891
+ :force_delete)
1892
+ SENSITIVE = []
1893
+ include Aws::Structure
1894
+ end
1895
+
1808
1896
  # @!attribute [rw] max_number_of_auto_scaling_groups
1809
- # The maximum number of groups allowed for your AWS account. The
1810
- # default is 200 groups per AWS Region.
1897
+ # The maximum number of groups allowed for your account. The default
1898
+ # is 200 groups per Region.
1811
1899
  # @return [Integer]
1812
1900
  #
1813
1901
  # @!attribute [rw] max_number_of_launch_configurations
1814
- # The maximum number of launch configurations allowed for your AWS
1815
- # account. The default is 200 launch configurations per AWS Region.
1902
+ # The maximum number of launch configurations allowed for your
1903
+ # account. The default is 200 launch configurations per Region.
1816
1904
  # @return [Integer]
1817
1905
  #
1818
1906
  # @!attribute [rw] number_of_auto_scaling_groups
1819
- # The current number of groups for your AWS account.
1907
+ # The current number of groups for your account.
1820
1908
  # @return [Integer]
1821
1909
  #
1822
1910
  # @!attribute [rw] number_of_launch_configurations
1823
- # The current number of launch configurations for your AWS account.
1911
+ # The current number of launch configurations for your account.
1824
1912
  # @return [Integer]
1825
1913
  #
1826
1914
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAccountLimitsAnswer AWS API Documentation
@@ -1856,10 +1944,11 @@ module Aws::AutoScaling
1856
1944
  # }
1857
1945
  #
1858
1946
  # @!attribute [rw] instance_ids
1859
- # The IDs of the instances. You can specify up to `MaxRecords` IDs. If
1860
- # you omit this parameter, all Auto Scaling instances are described.
1861
- # If you specify an ID that does not exist, it is ignored with no
1862
- # error.
1947
+ # The IDs of the instances. If you omit this parameter, all Auto
1948
+ # Scaling instances are described. If you specify an ID that does not
1949
+ # exist, it is ignored with no error.
1950
+ #
1951
+ # Array Members: Maximum number of 50 items.
1863
1952
  # @return [Array<String>]
1864
1953
  #
1865
1954
  # @!attribute [rw] max_records
@@ -2201,13 +2290,15 @@ module Aws::AutoScaling
2201
2290
  # @!attribute [rw] policy_names
2202
2291
  # The names of one or more policies. If you omit this parameter, all
2203
2292
  # policies are described. If a group name is provided, the results are
2204
- # limited to that group. This list is limited to 50 items. If you
2205
- # specify an unknown policy name, it is ignored with no error.
2293
+ # limited to that group. If you specify an unknown policy name, it is
2294
+ # ignored with no error.
2295
+ #
2296
+ # Array Members: Maximum number of 50 items.
2206
2297
  # @return [Array<String>]
2207
2298
  #
2208
2299
  # @!attribute [rw] policy_types
2209
2300
  # One or more policy types. The valid values are `SimpleScaling`,
2210
- # `StepScaling`, and `TargetTrackingScaling`.
2301
+ # `StepScaling`, `TargetTrackingScaling`, and `PredictiveScaling`.
2211
2302
  # @return [Array<String>]
2212
2303
  #
2213
2304
  # @!attribute [rw] next_token
@@ -2244,11 +2335,13 @@ module Aws::AutoScaling
2244
2335
  # }
2245
2336
  #
2246
2337
  # @!attribute [rw] activity_ids
2247
- # The activity IDs of the desired scaling activities. You can specify
2248
- # up to 50 IDs. If you omit this parameter, all activities for the
2249
- # past six weeks are described. If unknown activities are requested,
2250
- # they are ignored with no error. If you specify an Auto Scaling
2251
- # group, the results are limited to that group.
2338
+ # The activity IDs of the desired scaling activities. If you omit this
2339
+ # parameter, all activities for the past six weeks are described. If
2340
+ # unknown activities are requested, they are ignored with no error. If
2341
+ # you specify an Auto Scaling group, the results are limited to that
2342
+ # group.
2343
+ #
2344
+ # Array Members: Maximum number of 50 IDs.
2252
2345
  # @return [Array<String>]
2253
2346
  #
2254
2347
  # @!attribute [rw] auto_scaling_group_name
@@ -2299,10 +2392,11 @@ module Aws::AutoScaling
2299
2392
  # @return [String]
2300
2393
  #
2301
2394
  # @!attribute [rw] scheduled_action_names
2302
- # The names of one or more scheduled actions. You can specify up to 50
2303
- # actions. If you omit this parameter, all scheduled actions are
2304
- # described. If you specify an unknown scheduled action, it is ignored
2305
- # with no error.
2395
+ # The names of one or more scheduled actions. If you omit this
2396
+ # parameter, all scheduled actions are described. If you specify an
2397
+ # unknown scheduled action, it is ignored with no error.
2398
+ #
2399
+ # Array Members: Maximum number of 50 actions.
2306
2400
  # @return [Array<String>]
2307
2401
  #
2308
2402
  # @!attribute [rw] start_time
@@ -2393,6 +2487,62 @@ module Aws::AutoScaling
2393
2487
  include Aws::Structure
2394
2488
  end
2395
2489
 
2490
+ # @!attribute [rw] warm_pool_configuration
2491
+ # The warm pool configuration details.
2492
+ # @return [Types::WarmPoolConfiguration]
2493
+ #
2494
+ # @!attribute [rw] instances
2495
+ # The instances that are currently in the warm pool.
2496
+ # @return [Array<Types::Instance>]
2497
+ #
2498
+ # @!attribute [rw] next_token
2499
+ # The token for the next set of items to return. (You received this
2500
+ # token from a previous call.)
2501
+ # @return [String]
2502
+ #
2503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPoolAnswer AWS API Documentation
2504
+ #
2505
+ class DescribeWarmPoolAnswer < Struct.new(
2506
+ :warm_pool_configuration,
2507
+ :instances,
2508
+ :next_token)
2509
+ SENSITIVE = []
2510
+ include Aws::Structure
2511
+ end
2512
+
2513
+ # @note When making an API call, you may pass DescribeWarmPoolType
2514
+ # data as a hash:
2515
+ #
2516
+ # {
2517
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
2518
+ # max_records: 1,
2519
+ # next_token: "XmlString",
2520
+ # }
2521
+ #
2522
+ # @!attribute [rw] auto_scaling_group_name
2523
+ # The name of the Auto Scaling group.
2524
+ # @return [String]
2525
+ #
2526
+ # @!attribute [rw] max_records
2527
+ # The maximum number of instances to return with this call. The
2528
+ # maximum value is `50`.
2529
+ # @return [Integer]
2530
+ #
2531
+ # @!attribute [rw] next_token
2532
+ # The token for the next set of instances to return. (You received
2533
+ # this token from a previous call.)
2534
+ # @return [String]
2535
+ #
2536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPoolType AWS API Documentation
2537
+ #
2538
+ class DescribeWarmPoolType < Struct.new(
2539
+ :auto_scaling_group_name,
2540
+ :max_records,
2541
+ :next_token)
2542
+ SENSITIVE = []
2543
+ include Aws::Structure
2544
+ end
2545
+
2396
2546
  # @!attribute [rw] activities
2397
2547
  # The activities related to detaching the instances from the Auto
2398
2548
  # Scaling group.
@@ -2539,6 +2689,20 @@ module Aws::AutoScaling
2539
2689
  #
2540
2690
  # * `GroupTotalCapacity`
2541
2691
  #
2692
+ # * `WarmPoolDesiredCapacity`
2693
+ #
2694
+ # * `WarmPoolWarmedCapacity`
2695
+ #
2696
+ # * `WarmPoolPendingCapacity`
2697
+ #
2698
+ # * `WarmPoolTerminatingCapacity`
2699
+ #
2700
+ # * `WarmPoolTotalCapacity`
2701
+ #
2702
+ # * `GroupAndWarmPoolDesiredCapacity`
2703
+ #
2704
+ # * `GroupAndWarmPoolTotalCapacity`
2705
+ #
2542
2706
  # If you omit this parameter, all metrics are disabled.
2543
2707
  # @return [Array<String>]
2544
2708
  #
@@ -2564,6 +2728,7 @@ module Aws::AutoScaling
2564
2728
  # delete_on_termination: false,
2565
2729
  # iops: 1,
2566
2730
  # encrypted: false,
2731
+ # throughput: 1,
2567
2732
  # }
2568
2733
  #
2569
2734
  # @!attribute [rw] snapshot_id
@@ -2573,29 +2738,28 @@ module Aws::AutoScaling
2573
2738
  # @return [String]
2574
2739
  #
2575
2740
  # @!attribute [rw] volume_size
2576
- # The volume size, in Gibibytes (GiB).
2741
+ # The volume size, in GiBs. The following are the supported volumes
2742
+ # sizes for each volume type:
2743
+ #
2744
+ # * `gp2` and `gp3`\: 1-16,384
2745
+ #
2746
+ # * `io1`\: 4-16,384
2577
2747
  #
2578
- # This can be a number from 1-1,024 for `standard`, 4-16,384 for
2579
- # `io1`, 1-16,384 for `gp2`, and 500-16,384 for `st1` and `sc1`. If
2580
- # you specify a snapshot, the volume size must be equal to or larger
2581
- # than the snapshot size.
2748
+ # * `st1` and `sc1`\: 125-16,384
2582
2749
  #
2583
- # Default: If you create a volume from a snapshot and you don't
2584
- # specify a volume size, the default is the snapshot size.
2750
+ # * `standard`\: 1-1,024
2585
2751
  #
2586
- # You must specify either a `VolumeSize` or a `SnapshotId`. If you
2752
+ # You must specify either a `SnapshotId` or a `VolumeSize`. If you
2587
2753
  # specify both `SnapshotId` and `VolumeSize`, the volume size must be
2588
2754
  # equal or greater than the size of the snapshot.
2589
2755
  # @return [Integer]
2590
2756
  #
2591
2757
  # @!attribute [rw] volume_type
2592
- # The volume type, which can be `standard` for Magnetic, `io1` for
2593
- # Provisioned IOPS SSD, `gp2` for General Purpose SSD, `st1` for
2594
- # Throughput Optimized HDD, or `sc1` for Cold HDD. For more
2595
- # information, see [Amazon EBS Volume Types][1] in the *Amazon EC2
2596
- # User Guide for Linux Instances*.
2758
+ # The volume type. For more information, see [Amazon EBS Volume
2759
+ # Types][1] in the *Amazon EC2 User Guide for Linux Instances*.
2597
2760
  #
2598
- # Valid Values: `standard` \| `io1` \| `gp2` \| `st1` \| `sc1`
2761
+ # Valid Values: `standard` \| `io1` \| `gp2` \| `st1` \| `sc1` \|
2762
+ # `gp3`
2599
2763
  #
2600
2764
  #
2601
2765
  #
@@ -2608,17 +2772,30 @@ module Aws::AutoScaling
2608
2772
  # @return [Boolean]
2609
2773
  #
2610
2774
  # @!attribute [rw] iops
2611
- # The number of I/O operations per second (IOPS) to provision for the
2612
- # volume. The maximum ratio of IOPS to volume size (in GiB) is 50:1.
2613
- # For more information, see [Amazon EBS Volume Types][1] in the
2614
- # *Amazon EC2 User Guide for Linux Instances*.
2775
+ # The number of input/output (I/O) operations per second (IOPS) to
2776
+ # provision for the volume. For `gp3` and `io1` volumes, this
2777
+ # represents the number of IOPS that are provisioned for the volume.
2778
+ # For `gp2` volumes, this represents the baseline performance of the
2779
+ # volume and the rate at which the volume accumulates I/O credits for
2780
+ # bursting.
2615
2781
  #
2616
- # Required when the volume type is `io1`. (Not used with `standard`,
2617
- # `gp2`, `st1`, or `sc1` volumes.)
2782
+ # The following are the supported values for each volume type:
2618
2783
  #
2784
+ # * `gp3`\: 3,000-16,000 IOPS
2619
2785
  #
2786
+ # * `io1`\: 100-64,000 IOPS
2620
2787
  #
2621
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
2788
+ # For `io1` volumes, we guarantee 64,000 IOPS only for [Instances
2789
+ # built on the Nitro System][1]. Other instance families guarantee
2790
+ # performance up to 32,000 IOPS.
2791
+ #
2792
+ # `Iops` is supported when the volume type is `gp3` or `io1` and
2793
+ # required only when the volume type is `io1`. (Not used with
2794
+ # `standard`, `gp2`, `st1`, or `sc1` volumes.)
2795
+ #
2796
+ #
2797
+ #
2798
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
2622
2799
  # @return [Integer]
2623
2800
  #
2624
2801
  # @!attribute [rw] encrypted
@@ -2632,16 +2809,16 @@ module Aws::AutoScaling
2632
2809
  # encryption value. Volumes that are created from encrypted snapshots
2633
2810
  # are automatically encrypted, and volumes that are created from
2634
2811
  # unencrypted snapshots are automatically unencrypted. By default,
2635
- # encrypted snapshots use the AWS managed CMK that is used for EBS
2636
- # encryption, but you can specify a custom CMK when you create the
2637
- # snapshot. The ability to encrypt a snapshot during copying also
2638
- # allows you to apply a new CMK to an already-encrypted snapshot.
2639
- # Volumes restored from the resulting copy are only accessible using
2640
- # the new CMK.
2812
+ # encrypted snapshots use the Amazon Web Services managed CMK that is
2813
+ # used for EBS encryption, but you can specify a custom CMK when you
2814
+ # create the snapshot. The ability to encrypt a snapshot during
2815
+ # copying also allows you to apply a new CMK to an already-encrypted
2816
+ # snapshot. Volumes restored from the resulting copy are only
2817
+ # accessible using the new CMK.
2641
2818
  #
2642
2819
  # Enabling [encryption by default][2] results in all EBS volumes being
2643
- # encrypted with the AWS managed CMK or a customer managed CMK,
2644
- # whether or not the snapshot was encrypted.
2820
+ # encrypted with the Amazon Web Services managed CMK or a customer
2821
+ # managed CMK, whether or not the snapshot was encrypted.
2645
2822
  #
2646
2823
  # </note>
2647
2824
  #
@@ -2658,6 +2835,10 @@ module Aws::AutoScaling
2658
2835
  # [4]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html
2659
2836
  # @return [Boolean]
2660
2837
  #
2838
+ # @!attribute [rw] throughput
2839
+ # The throughput (MiBps) to provision for a `gp3` volume.
2840
+ # @return [Integer]
2841
+ #
2661
2842
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/Ebs AWS API Documentation
2662
2843
  #
2663
2844
  class Ebs < Struct.new(
@@ -2666,7 +2847,8 @@ module Aws::AutoScaling
2666
2847
  :volume_type,
2667
2848
  :delete_on_termination,
2668
2849
  :iops,
2669
- :encrypted)
2850
+ :encrypted,
2851
+ :throughput)
2670
2852
  SENSITIVE = []
2671
2853
  include Aws::Structure
2672
2854
  end
@@ -2717,6 +2899,22 @@ module Aws::AutoScaling
2717
2899
  #
2718
2900
  # * `GroupTotalCapacity`
2719
2901
  #
2902
+ # The warm pools feature supports the following additional metrics:
2903
+ #
2904
+ # * `WarmPoolDesiredCapacity`
2905
+ #
2906
+ # * `WarmPoolWarmedCapacity`
2907
+ #
2908
+ # * `WarmPoolPendingCapacity`
2909
+ #
2910
+ # * `WarmPoolTerminatingCapacity`
2911
+ #
2912
+ # * `WarmPoolTotalCapacity`
2913
+ #
2914
+ # * `GroupAndWarmPoolDesiredCapacity`
2915
+ #
2916
+ # * `GroupAndWarmPoolTotalCapacity`
2917
+ #
2720
2918
  # If you omit this parameter, all metrics are enabled.
2721
2919
  # @return [Array<String>]
2722
2920
  #
@@ -2765,6 +2963,20 @@ module Aws::AutoScaling
2765
2963
  # * `GroupTerminatingCapacity`
2766
2964
  #
2767
2965
  # * `GroupTotalCapacity`
2966
+ #
2967
+ # * `WarmPoolDesiredCapacity`
2968
+ #
2969
+ # * `WarmPoolWarmedCapacity`
2970
+ #
2971
+ # * `WarmPoolPendingCapacity`
2972
+ #
2973
+ # * `WarmPoolTerminatingCapacity`
2974
+ #
2975
+ # * `WarmPoolTotalCapacity`
2976
+ #
2977
+ # * `GroupAndWarmPoolDesiredCapacity`
2978
+ #
2979
+ # * `GroupAndWarmPoolTotalCapacity`
2768
2980
  # @return [String]
2769
2981
  #
2770
2982
  # @!attribute [rw] granularity
@@ -2987,6 +3199,74 @@ module Aws::AutoScaling
2987
3199
  include Aws::Structure
2988
3200
  end
2989
3201
 
3202
+ # @!attribute [rw] load_forecast
3203
+ # The load forecast.
3204
+ # @return [Array<Types::LoadForecast>]
3205
+ #
3206
+ # @!attribute [rw] capacity_forecast
3207
+ # The capacity forecast.
3208
+ # @return [Types::CapacityForecast]
3209
+ #
3210
+ # @!attribute [rw] update_time
3211
+ # The time the forecast was made.
3212
+ # @return [Time]
3213
+ #
3214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GetPredictiveScalingForecastAnswer AWS API Documentation
3215
+ #
3216
+ class GetPredictiveScalingForecastAnswer < Struct.new(
3217
+ :load_forecast,
3218
+ :capacity_forecast,
3219
+ :update_time)
3220
+ SENSITIVE = []
3221
+ include Aws::Structure
3222
+ end
3223
+
3224
+ # @note When making an API call, you may pass GetPredictiveScalingForecastType
3225
+ # data as a hash:
3226
+ #
3227
+ # {
3228
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
3229
+ # policy_name: "XmlStringMaxLen255", # required
3230
+ # start_time: Time.now, # required
3231
+ # end_time: Time.now, # required
3232
+ # }
3233
+ #
3234
+ # @!attribute [rw] auto_scaling_group_name
3235
+ # The name of the Auto Scaling group.
3236
+ # @return [String]
3237
+ #
3238
+ # @!attribute [rw] policy_name
3239
+ # The name of the policy.
3240
+ # @return [String]
3241
+ #
3242
+ # @!attribute [rw] start_time
3243
+ # The inclusive start time of the time range for the forecast data to
3244
+ # get. At most, the date and time can be one year before the current
3245
+ # date and time.
3246
+ # @return [Time]
3247
+ #
3248
+ # @!attribute [rw] end_time
3249
+ # The exclusive end time of the time range for the forecast data to
3250
+ # get. The maximum time duration between the start and end time is 30
3251
+ # days.
3252
+ #
3253
+ # Although this parameter can accept a date and time that is more than
3254
+ # two days in the future, the availability of forecast data has
3255
+ # limits. Amazon EC2 Auto Scaling only issues forecasts for periods of
3256
+ # two days in advance.
3257
+ # @return [Time]
3258
+ #
3259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GetPredictiveScalingForecastType AWS API Documentation
3260
+ #
3261
+ class GetPredictiveScalingForecastType < Struct.new(
3262
+ :auto_scaling_group_name,
3263
+ :policy_name,
3264
+ :start_time,
3265
+ :end_time)
3266
+ SENSITIVE = []
3267
+ include Aws::Structure
3268
+ end
3269
+
2990
3270
  # Describes an EC2 instance.
2991
3271
  #
2992
3272
  # @!attribute [rw] instance_id
@@ -3190,7 +3470,8 @@ module Aws::AutoScaling
3190
3470
  # instance replacement, Amazon EC2 Auto Scaling tracks the instance's
3191
3471
  # health status and warm-up time. When the instance's health status
3192
3472
  # changes to healthy and the specified warm-up time passes, the
3193
- # instance is considered updated and added to the percentage complete.
3473
+ # instance is considered updated and is added to the percentage
3474
+ # complete.
3194
3475
  # @return [Integer]
3195
3476
  #
3196
3477
  # @!attribute [rw] instances_to_update
@@ -3198,6 +3479,11 @@ module Aws::AutoScaling
3198
3479
  # refresh is complete.
3199
3480
  # @return [Integer]
3200
3481
  #
3482
+ # @!attribute [rw] progress_details
3483
+ # Additional progress details for an Auto Scaling group that has a
3484
+ # warm pool.
3485
+ # @return [Types::InstanceRefreshProgressDetails]
3486
+ #
3201
3487
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefresh AWS API Documentation
3202
3488
  #
3203
3489
  class InstanceRefresh < Struct.new(
@@ -3208,7 +3494,8 @@ module Aws::AutoScaling
3208
3494
  :start_time,
3209
3495
  :end_time,
3210
3496
  :percentage_complete,
3211
- :instances_to_update)
3497
+ :instances_to_update,
3498
+ :progress_details)
3212
3499
  SENSITIVE = []
3213
3500
  include Aws::Structure
3214
3501
  end
@@ -3227,6 +3514,79 @@ module Aws::AutoScaling
3227
3514
  include Aws::Structure
3228
3515
  end
3229
3516
 
3517
+ # Reports the progress of an instance refresh on instances that are in
3518
+ # the Auto Scaling group.
3519
+ #
3520
+ # @!attribute [rw] percentage_complete
3521
+ # The percentage of instances in the Auto Scaling group that have been
3522
+ # replaced. For each instance replacement, Amazon EC2 Auto Scaling
3523
+ # tracks the instance's health status and warm-up time. When the
3524
+ # instance's health status changes to healthy and the specified
3525
+ # warm-up time passes, the instance is considered updated and is added
3526
+ # to the percentage complete.
3527
+ # @return [Integer]
3528
+ #
3529
+ # @!attribute [rw] instances_to_update
3530
+ # The number of instances remaining to update.
3531
+ # @return [Integer]
3532
+ #
3533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshLivePoolProgress AWS API Documentation
3534
+ #
3535
+ class InstanceRefreshLivePoolProgress < Struct.new(
3536
+ :percentage_complete,
3537
+ :instances_to_update)
3538
+ SENSITIVE = []
3539
+ include Aws::Structure
3540
+ end
3541
+
3542
+ # Reports the progress of an instance refresh on an Auto Scaling group
3543
+ # that has a warm pool. This includes separate details for instances in
3544
+ # the warm pool and instances in the Auto Scaling group (the live pool).
3545
+ #
3546
+ # @!attribute [rw] live_pool_progress
3547
+ # Indicates the progress of an instance refresh on instances that are
3548
+ # in the Auto Scaling group.
3549
+ # @return [Types::InstanceRefreshLivePoolProgress]
3550
+ #
3551
+ # @!attribute [rw] warm_pool_progress
3552
+ # Indicates the progress of an instance refresh on instances that are
3553
+ # in the warm pool.
3554
+ # @return [Types::InstanceRefreshWarmPoolProgress]
3555
+ #
3556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshProgressDetails AWS API Documentation
3557
+ #
3558
+ class InstanceRefreshProgressDetails < Struct.new(
3559
+ :live_pool_progress,
3560
+ :warm_pool_progress)
3561
+ SENSITIVE = []
3562
+ include Aws::Structure
3563
+ end
3564
+
3565
+ # Reports the progress of an instance refresh on instances that are in
3566
+ # the warm pool.
3567
+ #
3568
+ # @!attribute [rw] percentage_complete
3569
+ # The percentage of instances in the warm pool that have been
3570
+ # replaced. For each instance replacement, Amazon EC2 Auto Scaling
3571
+ # tracks the instance's health status and warm-up time. When the
3572
+ # instance's health status changes to healthy and the specified
3573
+ # warm-up time passes, the instance is considered updated and is added
3574
+ # to the percentage complete.
3575
+ # @return [Integer]
3576
+ #
3577
+ # @!attribute [rw] instances_to_update
3578
+ # The number of instances remaining to update.
3579
+ # @return [Integer]
3580
+ #
3581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefreshWarmPoolProgress AWS API Documentation
3582
+ #
3583
+ class InstanceRefreshWarmPoolProgress < Struct.new(
3584
+ :percentage_complete,
3585
+ :instances_to_update)
3586
+ SENSITIVE = []
3587
+ include Aws::Structure
3588
+ end
3589
+
3230
3590
  # Describes an instances distribution for an Auto Scaling group with a
3231
3591
  # MixedInstancesPolicy.
3232
3592
  #
@@ -3600,6 +3960,8 @@ module Aws::AutoScaling
3600
3960
  # @!attribute [rw] launch_configuration_names
3601
3961
  # The launch configuration names. If you omit this parameter, all
3602
3962
  # launch configurations are described.
3963
+ #
3964
+ # Array Members: Maximum number of 50 items.
3603
3965
  # @return [Array<String>]
3604
3966
  #
3605
3967
  # @!attribute [rw] next_token
@@ -4059,17 +4421,6 @@ module Aws::AutoScaling
4059
4421
 
4060
4422
  # Describes the state of a Classic Load Balancer.
4061
4423
  #
4062
- # If you specify a load balancer when creating the Auto Scaling group,
4063
- # the state of the load balancer is `InService`.
4064
- #
4065
- # If you attach a load balancer to an existing Auto Scaling group, the
4066
- # initial state is `Adding`. The state transitions to `Added` after all
4067
- # instances in the group are registered with the load balancer. If
4068
- # Elastic Load Balancing health checks are enabled for the load
4069
- # balancer, the state transitions to `InService` after at least one
4070
- # instance in the group passes the health check. If EC2 health checks
4071
- # are enabled instead, the load balancer remains in the `Added` state.
4072
- #
4073
4424
  # @!attribute [rw] load_balancer_name
4074
4425
  # The name of the load balancer.
4075
4426
  # @return [String]
@@ -4077,21 +4428,21 @@ module Aws::AutoScaling
4077
4428
  # @!attribute [rw] state
4078
4429
  # One of the following load balancer states:
4079
4430
  #
4080
- # * `Adding` - The instances in the group are being registered with
4431
+ # * `Adding` - The Auto Scaling instances are being registered with
4081
4432
  # the load balancer.
4082
4433
  #
4083
- # * `Added` - All instances in the group are registered with the load
4434
+ # * `Added` - All Auto Scaling instances are registered with the load
4084
4435
  # balancer.
4085
4436
  #
4086
- # * `InService` - At least one instance in the group passed an ELB
4437
+ # * `InService` - At least one Auto Scaling instance passed an `ELB`
4087
4438
  # health check.
4088
4439
  #
4089
- # * `Removing` - The instances in the group are being deregistered
4440
+ # * `Removing` - The Auto Scaling instances are being deregistered
4090
4441
  # from the load balancer. If connection draining is enabled, Elastic
4091
4442
  # Load Balancing waits for in-flight requests to complete before
4092
4443
  # deregistering the instances.
4093
4444
  #
4094
- # * `Removed` - All instances in the group are deregistered from the
4445
+ # * `Removed` - All Auto Scaling instances are deregistered from the
4095
4446
  # load balancer.
4096
4447
  # @return [String]
4097
4448
  #
@@ -4106,14 +4457,6 @@ module Aws::AutoScaling
4106
4457
 
4107
4458
  # Describes the state of a target group.
4108
4459
  #
4109
- # If you attach a target group to an existing Auto Scaling group, the
4110
- # initial state is `Adding`. The state transitions to `Added` after all
4111
- # Auto Scaling instances are registered with the target group. If
4112
- # Elastic Load Balancing health checks are enabled, the state
4113
- # transitions to `InService` after at least one Auto Scaling instance
4114
- # passes the health check. If EC2 health checks are enabled instead, the
4115
- # target group remains in the `Added` state.
4116
- #
4117
4460
  # @!attribute [rw] load_balancer_target_group_arn
4118
4461
  # The Amazon Resource Name (ARN) of the target group.
4119
4462
  # @return [String]
@@ -4127,7 +4470,7 @@ module Aws::AutoScaling
4127
4470
  # * `Added` - All Auto Scaling instances are registered with the
4128
4471
  # target group.
4129
4472
  #
4130
- # * `InService` - At least one Auto Scaling instance passed an ELB
4473
+ # * `InService` - At least one Auto Scaling instance passed an `ELB`
4131
4474
  # health check.
4132
4475
  #
4133
4476
  # * `Removing` - The Auto Scaling instances are being deregistered
@@ -4148,6 +4491,33 @@ module Aws::AutoScaling
4148
4491
  include Aws::Structure
4149
4492
  end
4150
4493
 
4494
+ # A `GetPredictiveScalingForecast` call returns the load forecast for a
4495
+ # predictive scaling policy. This structure includes the data points for
4496
+ # that load forecast, along with the timestamps of those data points and
4497
+ # the metric specification.
4498
+ #
4499
+ # @!attribute [rw] timestamps
4500
+ # The time stamps for the data points, in UTC format.
4501
+ # @return [Array<Time>]
4502
+ #
4503
+ # @!attribute [rw] values
4504
+ # The values of the data points.
4505
+ # @return [Array<Float>]
4506
+ #
4507
+ # @!attribute [rw] metric_specification
4508
+ # The metric specification for the load forecast.
4509
+ # @return [Types::PredictiveScalingMetricSpecification]
4510
+ #
4511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LoadForecast AWS API Documentation
4512
+ #
4513
+ class LoadForecast < Struct.new(
4514
+ :timestamps,
4515
+ :values,
4516
+ :metric_specification)
4517
+ SENSITIVE = []
4518
+ include Aws::Structure
4519
+ end
4520
+
4151
4521
  # Describes a metric.
4152
4522
  #
4153
4523
  # @!attribute [rw] metric
@@ -4178,6 +4548,20 @@ module Aws::AutoScaling
4178
4548
  # * `GroupTerminatingCapacity`
4179
4549
  #
4180
4550
  # * `GroupTotalCapacity`
4551
+ #
4552
+ # * `WarmPoolDesiredCapacity`
4553
+ #
4554
+ # * `WarmPoolWarmedCapacity`
4555
+ #
4556
+ # * `WarmPoolPendingCapacity`
4557
+ #
4558
+ # * `WarmPoolTerminatingCapacity`
4559
+ #
4560
+ # * `WarmPoolTotalCapacity`
4561
+ #
4562
+ # * `GroupAndWarmPoolDesiredCapacity`
4563
+ #
4564
+ # * `GroupAndWarmPoolTotalCapacity`
4181
4565
  # @return [String]
4182
4566
  #
4183
4567
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MetricCollectionType AWS API Documentation
@@ -4402,16 +4786,20 @@ module Aws::AutoScaling
4402
4786
  # @return [String]
4403
4787
  #
4404
4788
  # @!attribute [rw] resource_label
4405
- # Identifies the resource associated with the metric type. You can't
4406
- # specify a resource label unless the metric type is
4407
- # `ALBRequestCountPerTarget` and there is a target group attached to
4408
- # the Auto Scaling group.
4789
+ # A label that uniquely identifies a specific Application Load
4790
+ # Balancer target group from which to determine the average request
4791
+ # count served by your Auto Scaling group. You can't specify a
4792
+ # resource label unless the target group is attached to the Auto
4793
+ # Scaling group.
4409
4794
  #
4410
4795
  # You create the resource label by appending the final portion of the
4411
4796
  # load balancer ARN and the final portion of the target group ARN into
4412
- # a single value, separated by a forward slash (/). The format is
4413
- # app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt;/targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt;,
4414
- # where:
4797
+ # a single value, separated by a forward slash (/). The format of the
4798
+ # resource label is:
4799
+ #
4800
+ # `app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff`.
4801
+ #
4802
+ # Where:
4415
4803
  #
4416
4804
  # * app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt; is the
4417
4805
  # final portion of the load balancer ARN
@@ -4419,9 +4807,6 @@ module Aws::AutoScaling
4419
4807
  # * targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is
4420
4808
  # the final portion of the target group ARN.
4421
4809
  #
4422
- # This is an example:
4423
- # app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.
4424
- #
4425
4810
  # To find the ARN for an Application Load Balancer, use the
4426
4811
  # [DescribeLoadBalancers][1] API operation. To find the ARN for the
4427
4812
  # target group, use the [DescribeTargetGroups][2] API operation.
@@ -4441,6 +4826,374 @@ module Aws::AutoScaling
4441
4826
  include Aws::Structure
4442
4827
  end
4443
4828
 
4829
+ # Represents a predictive scaling policy configuration to use with
4830
+ # Amazon EC2 Auto Scaling.
4831
+ #
4832
+ # @note When making an API call, you may pass PredictiveScalingConfiguration
4833
+ # data as a hash:
4834
+ #
4835
+ # {
4836
+ # metric_specifications: [ # required
4837
+ # {
4838
+ # target_value: 1.0, # required
4839
+ # predefined_metric_pair_specification: {
4840
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
4841
+ # resource_label: "XmlStringMaxLen1023",
4842
+ # },
4843
+ # predefined_scaling_metric_specification: {
4844
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
4845
+ # resource_label: "XmlStringMaxLen1023",
4846
+ # },
4847
+ # predefined_load_metric_specification: {
4848
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
4849
+ # resource_label: "XmlStringMaxLen1023",
4850
+ # },
4851
+ # },
4852
+ # ],
4853
+ # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
4854
+ # scheduling_buffer_time: 1,
4855
+ # max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
4856
+ # max_capacity_buffer: 1,
4857
+ # }
4858
+ #
4859
+ # @!attribute [rw] metric_specifications
4860
+ # This structure includes the metrics and target utilization to use
4861
+ # for predictive scaling.
4862
+ #
4863
+ # This is an array, but we currently only support a single metric
4864
+ # specification. That is, you can specify a target value and a single
4865
+ # metric pair, or a target value and one scaling metric and one load
4866
+ # metric.
4867
+ # @return [Array<Types::PredictiveScalingMetricSpecification>]
4868
+ #
4869
+ # @!attribute [rw] mode
4870
+ # The predictive scaling mode. Defaults to `ForecastOnly` if not
4871
+ # specified.
4872
+ # @return [String]
4873
+ #
4874
+ # @!attribute [rw] scheduling_buffer_time
4875
+ # The amount of time, in seconds, by which the instance launch time
4876
+ # can be advanced. For example, the forecast says to add capacity at
4877
+ # 10:00 AM, and you choose to pre-launch instances by 5 minutes. In
4878
+ # that case, the instances will be launched at 9:55 AM. The intention
4879
+ # is to give resources time to be provisioned. It can take a few
4880
+ # minutes to launch an EC2 instance. The actual amount of time
4881
+ # required depends on several factors, such as the size of the
4882
+ # instance and whether there are startup scripts to complete.
4883
+ #
4884
+ # The value must be less than the forecast interval duration of 3600
4885
+ # seconds (60 minutes). Defaults to 300 seconds if not specified.
4886
+ # @return [Integer]
4887
+ #
4888
+ # @!attribute [rw] max_capacity_breach_behavior
4889
+ # Defines the behavior that should be applied if the forecast capacity
4890
+ # approaches or exceeds the maximum capacity of the Auto Scaling
4891
+ # group. Defaults to `HonorMaxCapacity` if not specified.
4892
+ #
4893
+ # The following are possible values:
4894
+ #
4895
+ # * `HonorMaxCapacity` - Amazon EC2 Auto Scaling cannot scale out
4896
+ # capacity higher than the maximum capacity. The maximum capacity is
4897
+ # enforced as a hard limit.
4898
+ #
4899
+ # * `IncreaseMaxCapacity` - Amazon EC2 Auto Scaling can scale out
4900
+ # capacity higher than the maximum capacity when the forecast
4901
+ # capacity is close to or exceeds the maximum capacity. The upper
4902
+ # limit is determined by the forecasted capacity and the value for
4903
+ # `MaxCapacityBuffer`.
4904
+ # @return [String]
4905
+ #
4906
+ # @!attribute [rw] max_capacity_buffer
4907
+ # The size of the capacity buffer to use when the forecast capacity is
4908
+ # close to or exceeds the maximum capacity. The value is specified as
4909
+ # a percentage relative to the forecast capacity. For example, if the
4910
+ # buffer is 10, this means a 10 percent buffer, such that if the
4911
+ # forecast capacity is 50, and the maximum capacity is 40, then the
4912
+ # effective maximum capacity is 55.
4913
+ #
4914
+ # If set to 0, Amazon EC2 Auto Scaling may scale capacity higher than
4915
+ # the maximum capacity to equal but not exceed forecast capacity.
4916
+ #
4917
+ # Required if the `MaxCapacityBreachBehavior` property is set to
4918
+ # `IncreaseMaxCapacity`, and cannot be used otherwise.
4919
+ # @return [Integer]
4920
+ #
4921
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingConfiguration AWS API Documentation
4922
+ #
4923
+ class PredictiveScalingConfiguration < Struct.new(
4924
+ :metric_specifications,
4925
+ :mode,
4926
+ :scheduling_buffer_time,
4927
+ :max_capacity_breach_behavior,
4928
+ :max_capacity_buffer)
4929
+ SENSITIVE = []
4930
+ include Aws::Structure
4931
+ end
4932
+
4933
+ # This structure specifies the metrics and target utilization settings
4934
+ # for a predictive scaling policy.
4935
+ #
4936
+ # You must specify either a metric pair, or a load metric and a scaling
4937
+ # metric individually. Specifying a metric pair instead of individual
4938
+ # metrics provides a simpler way to configure metrics for a scaling
4939
+ # policy. You choose the metric pair, and the policy automatically knows
4940
+ # the correct sum and average statistics to use for the load metric and
4941
+ # the scaling metric.
4942
+ #
4943
+ # Example
4944
+ #
4945
+ # * You create a predictive scaling policy and specify `ALBRequestCount`
4946
+ # as the value for the metric pair and `1000.0` as the target value.
4947
+ # For this type of metric, you must provide the metric dimension for
4948
+ # the corresponding target group, so you also provide a resource label
4949
+ # for the Application Load Balancer target group that is attached to
4950
+ # your Auto Scaling group.
4951
+ #
4952
+ # * The number of requests the target group receives per minute provides
4953
+ # the load metric, and the request count averaged between the members
4954
+ # of the target group provides the scaling metric. In CloudWatch, this
4955
+ # refers to the `RequestCount` and `RequestCountPerTarget` metrics,
4956
+ # respectively.
4957
+ #
4958
+ # * For optimal use of predictive scaling, you adhere to the best
4959
+ # practice of using a dynamic scaling policy to automatically scale
4960
+ # between the minimum capacity and maximum capacity in response to
4961
+ # real-time changes in resource utilization.
4962
+ #
4963
+ # * Amazon EC2 Auto Scaling consumes data points for the load metric
4964
+ # over the last 14 days and creates an hourly load forecast for
4965
+ # predictive scaling. (A minimum of 24 hours of data is required.)
4966
+ #
4967
+ # * After creating the load forecast, Amazon EC2 Auto Scaling determines
4968
+ # when to reduce or increase the capacity of your Auto Scaling group
4969
+ # in each hour of the forecast period so that the average number of
4970
+ # requests received by each instance is as close to 1000 requests per
4971
+ # minute as possible at all times.
4972
+ #
4973
+ # @note When making an API call, you may pass PredictiveScalingMetricSpecification
4974
+ # data as a hash:
4975
+ #
4976
+ # {
4977
+ # target_value: 1.0, # required
4978
+ # predefined_metric_pair_specification: {
4979
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
4980
+ # resource_label: "XmlStringMaxLen1023",
4981
+ # },
4982
+ # predefined_scaling_metric_specification: {
4983
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
4984
+ # resource_label: "XmlStringMaxLen1023",
4985
+ # },
4986
+ # predefined_load_metric_specification: {
4987
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
4988
+ # resource_label: "XmlStringMaxLen1023",
4989
+ # },
4990
+ # }
4991
+ #
4992
+ # @!attribute [rw] target_value
4993
+ # Specifies the target utilization.
4994
+ # @return [Float]
4995
+ #
4996
+ # @!attribute [rw] predefined_metric_pair_specification
4997
+ # The metric pair specification from which Amazon EC2 Auto Scaling
4998
+ # determines the appropriate scaling metric and load metric to use.
4999
+ # @return [Types::PredictiveScalingPredefinedMetricPair]
5000
+ #
5001
+ # @!attribute [rw] predefined_scaling_metric_specification
5002
+ # The scaling metric specification.
5003
+ # @return [Types::PredictiveScalingPredefinedScalingMetric]
5004
+ #
5005
+ # @!attribute [rw] predefined_load_metric_specification
5006
+ # The load metric specification.
5007
+ # @return [Types::PredictiveScalingPredefinedLoadMetric]
5008
+ #
5009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingMetricSpecification AWS API Documentation
5010
+ #
5011
+ class PredictiveScalingMetricSpecification < Struct.new(
5012
+ :target_value,
5013
+ :predefined_metric_pair_specification,
5014
+ :predefined_scaling_metric_specification,
5015
+ :predefined_load_metric_specification)
5016
+ SENSITIVE = []
5017
+ include Aws::Structure
5018
+ end
5019
+
5020
+ # Describes a load metric for a predictive scaling policy.
5021
+ #
5022
+ # When returned in the output of `DescribePolicies`, it indicates that a
5023
+ # predictive scaling policy uses individually specified load and scaling
5024
+ # metrics instead of a metric pair.
5025
+ #
5026
+ # @note When making an API call, you may pass PredictiveScalingPredefinedLoadMetric
5027
+ # data as a hash:
5028
+ #
5029
+ # {
5030
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
5031
+ # resource_label: "XmlStringMaxLen1023",
5032
+ # }
5033
+ #
5034
+ # @!attribute [rw] predefined_metric_type
5035
+ # The metric type.
5036
+ # @return [String]
5037
+ #
5038
+ # @!attribute [rw] resource_label
5039
+ # A label that uniquely identifies a specific Application Load
5040
+ # Balancer target group from which to determine the request count
5041
+ # served by your Auto Scaling group. You can't specify a resource
5042
+ # label unless the target group is attached to the Auto Scaling group.
5043
+ #
5044
+ # You create the resource label by appending the final portion of the
5045
+ # load balancer ARN and the final portion of the target group ARN into
5046
+ # a single value, separated by a forward slash (/). The format of the
5047
+ # resource label is:
5048
+ #
5049
+ # `app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff`.
5050
+ #
5051
+ # Where:
5052
+ #
5053
+ # * app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt; is the
5054
+ # final portion of the load balancer ARN
5055
+ #
5056
+ # * targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is
5057
+ # the final portion of the target group ARN.
5058
+ #
5059
+ # To find the ARN for an Application Load Balancer, use the
5060
+ # [DescribeLoadBalancers][1] API operation. To find the ARN for the
5061
+ # target group, use the [DescribeTargetGroups][2] API operation.
5062
+ #
5063
+ #
5064
+ #
5065
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html
5066
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html
5067
+ # @return [String]
5068
+ #
5069
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingPredefinedLoadMetric AWS API Documentation
5070
+ #
5071
+ class PredictiveScalingPredefinedLoadMetric < Struct.new(
5072
+ :predefined_metric_type,
5073
+ :resource_label)
5074
+ SENSITIVE = []
5075
+ include Aws::Structure
5076
+ end
5077
+
5078
+ # Represents a metric pair for a predictive scaling policy.
5079
+ #
5080
+ # @note When making an API call, you may pass PredictiveScalingPredefinedMetricPair
5081
+ # data as a hash:
5082
+ #
5083
+ # {
5084
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
5085
+ # resource_label: "XmlStringMaxLen1023",
5086
+ # }
5087
+ #
5088
+ # @!attribute [rw] predefined_metric_type
5089
+ # Indicates which metrics to use. There are two different types of
5090
+ # metrics for each metric type: one is a load metric and one is a
5091
+ # scaling metric. For example, if the metric type is
5092
+ # `ASGCPUUtilization`, the Auto Scaling group's total CPU metric is
5093
+ # used as the load metric, and the average CPU metric is used for the
5094
+ # scaling metric.
5095
+ # @return [String]
5096
+ #
5097
+ # @!attribute [rw] resource_label
5098
+ # A label that uniquely identifies a specific Application Load
5099
+ # Balancer target group from which to determine the total and average
5100
+ # request count served by your Auto Scaling group. You can't specify
5101
+ # a resource label unless the target group is attached to the Auto
5102
+ # Scaling group.
5103
+ #
5104
+ # You create the resource label by appending the final portion of the
5105
+ # load balancer ARN and the final portion of the target group ARN into
5106
+ # a single value, separated by a forward slash (/). The format of the
5107
+ # resource label is:
5108
+ #
5109
+ # `app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff`.
5110
+ #
5111
+ # Where:
5112
+ #
5113
+ # * app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt; is the
5114
+ # final portion of the load balancer ARN
5115
+ #
5116
+ # * targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is
5117
+ # the final portion of the target group ARN.
5118
+ #
5119
+ # To find the ARN for an Application Load Balancer, use the
5120
+ # [DescribeLoadBalancers][1] API operation. To find the ARN for the
5121
+ # target group, use the [DescribeTargetGroups][2] API operation.
5122
+ #
5123
+ #
5124
+ #
5125
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html
5126
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html
5127
+ # @return [String]
5128
+ #
5129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingPredefinedMetricPair AWS API Documentation
5130
+ #
5131
+ class PredictiveScalingPredefinedMetricPair < Struct.new(
5132
+ :predefined_metric_type,
5133
+ :resource_label)
5134
+ SENSITIVE = []
5135
+ include Aws::Structure
5136
+ end
5137
+
5138
+ # Describes a scaling metric for a predictive scaling policy.
5139
+ #
5140
+ # When returned in the output of `DescribePolicies`, it indicates that a
5141
+ # predictive scaling policy uses individually specified load and scaling
5142
+ # metrics instead of a metric pair.
5143
+ #
5144
+ # @note When making an API call, you may pass PredictiveScalingPredefinedScalingMetric
5145
+ # data as a hash:
5146
+ #
5147
+ # {
5148
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
5149
+ # resource_label: "XmlStringMaxLen1023",
5150
+ # }
5151
+ #
5152
+ # @!attribute [rw] predefined_metric_type
5153
+ # The metric type.
5154
+ # @return [String]
5155
+ #
5156
+ # @!attribute [rw] resource_label
5157
+ # A label that uniquely identifies a specific Application Load
5158
+ # Balancer target group from which to determine the average request
5159
+ # count served by your Auto Scaling group. You can't specify a
5160
+ # resource label unless the target group is attached to the Auto
5161
+ # Scaling group.
5162
+ #
5163
+ # You create the resource label by appending the final portion of the
5164
+ # load balancer ARN and the final portion of the target group ARN into
5165
+ # a single value, separated by a forward slash (/). The format of the
5166
+ # resource label is:
5167
+ #
5168
+ # `app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff`.
5169
+ #
5170
+ # Where:
5171
+ #
5172
+ # * app/&lt;load-balancer-name&gt;/&lt;load-balancer-id&gt; is the
5173
+ # final portion of the load balancer ARN
5174
+ #
5175
+ # * targetgroup/&lt;target-group-name&gt;/&lt;target-group-id&gt; is
5176
+ # the final portion of the target group ARN.
5177
+ #
5178
+ # To find the ARN for an Application Load Balancer, use the
5179
+ # [DescribeLoadBalancers][1] API operation. To find the ARN for the
5180
+ # target group, use the [DescribeTargetGroups][2] API operation.
5181
+ #
5182
+ #
5183
+ #
5184
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html
5185
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html
5186
+ # @return [String]
5187
+ #
5188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingPredefinedScalingMetric AWS API Documentation
5189
+ #
5190
+ class PredictiveScalingPredefinedScalingMetric < Struct.new(
5191
+ :predefined_metric_type,
5192
+ :resource_label)
5193
+ SENSITIVE = []
5194
+ include Aws::Structure
5195
+ end
5196
+
4444
5197
  # Describes a process type.
4445
5198
  #
4446
5199
  # For more information, see [Scaling processes][1] in the *Amazon EC2
@@ -4671,6 +5424,29 @@ module Aws::AutoScaling
4671
5424
  # disable_scale_in: false,
4672
5425
  # },
4673
5426
  # enabled: false,
5427
+ # predictive_scaling_configuration: {
5428
+ # metric_specifications: [ # required
5429
+ # {
5430
+ # target_value: 1.0, # required
5431
+ # predefined_metric_pair_specification: {
5432
+ # predefined_metric_type: "ASGCPUUtilization", # required, accepts ASGCPUUtilization, ASGNetworkIn, ASGNetworkOut, ALBRequestCount
5433
+ # resource_label: "XmlStringMaxLen1023",
5434
+ # },
5435
+ # predefined_scaling_metric_specification: {
5436
+ # predefined_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, ALBRequestCountPerTarget
5437
+ # resource_label: "XmlStringMaxLen1023",
5438
+ # },
5439
+ # predefined_load_metric_specification: {
5440
+ # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
5441
+ # resource_label: "XmlStringMaxLen1023",
5442
+ # },
5443
+ # },
5444
+ # ],
5445
+ # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
5446
+ # scheduling_buffer_time: 1,
5447
+ # max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
5448
+ # max_capacity_buffer: 1,
5449
+ # },
4674
5450
  # }
4675
5451
  #
4676
5452
  # @!attribute [rw] auto_scaling_group_name
@@ -4689,6 +5465,8 @@ module Aws::AutoScaling
4689
5465
  # * `StepScaling`
4690
5466
  #
4691
5467
  # * `SimpleScaling` (default)
5468
+ #
5469
+ # * `PredictiveScaling`
4692
5470
  # @return [String]
4693
5471
  #
4694
5472
  # @!attribute [rw] adjustment_type
@@ -4785,7 +5563,7 @@ module Aws::AutoScaling
4785
5563
  # @return [Integer]
4786
5564
  #
4787
5565
  # @!attribute [rw] target_tracking_configuration
4788
- # A target tracking scaling policy. Includes support for predefined or
5566
+ # A target tracking scaling policy. Provides support for predefined or
4789
5567
  # customized metrics.
4790
5568
  #
4791
5569
  # The following predefined metrics are available:
@@ -4823,6 +5601,23 @@ module Aws::AutoScaling
4823
5601
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html
4824
5602
  # @return [Boolean]
4825
5603
  #
5604
+ # @!attribute [rw] predictive_scaling_configuration
5605
+ # A predictive scaling policy. Provides support for only predefined
5606
+ # metrics.
5607
+ #
5608
+ # Predictive scaling works with CPU utilization, network in/out, and
5609
+ # the Application Load Balancer request count.
5610
+ #
5611
+ # For more information, see [PredictiveScalingConfiguration][1] in the
5612
+ # *Amazon EC2 Auto Scaling API Reference*.
5613
+ #
5614
+ # Required if the policy type is `PredictiveScaling`.
5615
+ #
5616
+ #
5617
+ #
5618
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingConfiguration.html
5619
+ # @return [Types::PredictiveScalingConfiguration]
5620
+ #
4826
5621
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScalingPolicyType AWS API Documentation
4827
5622
  #
4828
5623
  class PutScalingPolicyType < Struct.new(
@@ -4838,7 +5633,8 @@ module Aws::AutoScaling
4838
5633
  :step_adjustments,
4839
5634
  :estimated_instance_warmup,
4840
5635
  :target_tracking_configuration,
4841
- :enabled)
5636
+ :enabled,
5637
+ :predictive_scaling_configuration)
4842
5638
  SENSITIVE = []
4843
5639
  include Aws::Structure
4844
5640
  end
@@ -4951,6 +5747,71 @@ module Aws::AutoScaling
4951
5747
  include Aws::Structure
4952
5748
  end
4953
5749
 
5750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPoolAnswer AWS API Documentation
5751
+ #
5752
+ class PutWarmPoolAnswer < Aws::EmptyStructure; end
5753
+
5754
+ # @note When making an API call, you may pass PutWarmPoolType
5755
+ # data as a hash:
5756
+ #
5757
+ # {
5758
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
5759
+ # max_group_prepared_capacity: 1,
5760
+ # min_size: 1,
5761
+ # pool_state: "Stopped", # accepts Stopped, Running
5762
+ # }
5763
+ #
5764
+ # @!attribute [rw] auto_scaling_group_name
5765
+ # The name of the Auto Scaling group.
5766
+ # @return [String]
5767
+ #
5768
+ # @!attribute [rw] max_group_prepared_capacity
5769
+ # Specifies the maximum number of instances that are allowed to be in
5770
+ # the warm pool or in any state except `Terminated` for the Auto
5771
+ # Scaling group. This is an optional property. Specify it only if you
5772
+ # do not want the warm pool size to be determined by the difference
5773
+ # between the group's maximum capacity and its desired capacity.
5774
+ #
5775
+ # If a value for `MaxGroupPreparedCapacity` is not specified, Amazon
5776
+ # EC2 Auto Scaling launches and maintains the difference between the
5777
+ # group's maximum capacity and its desired capacity. If you specify a
5778
+ # value for `MaxGroupPreparedCapacity`, Amazon EC2 Auto Scaling uses
5779
+ # the difference between the `MaxGroupPreparedCapacity` and the
5780
+ # desired capacity instead.
5781
+ #
5782
+ # The size of the warm pool is dynamic. Only when
5783
+ # `MaxGroupPreparedCapacity` and `MinSize` are set to the same value
5784
+ # does the warm pool have an absolute size.
5785
+ #
5786
+ # If the desired capacity of the Auto Scaling group is higher than the
5787
+ # `MaxGroupPreparedCapacity`, the capacity of the warm pool is 0,
5788
+ # unless you specify a value for `MinSize`. To remove a value that you
5789
+ # previously set, include the property but specify -1 for the value.
5790
+ # @return [Integer]
5791
+ #
5792
+ # @!attribute [rw] min_size
5793
+ # Specifies the minimum number of instances to maintain in the warm
5794
+ # pool. This helps you to ensure that there is always a certain number
5795
+ # of warmed instances available to handle traffic spikes. Defaults to
5796
+ # 0 if not specified.
5797
+ # @return [Integer]
5798
+ #
5799
+ # @!attribute [rw] pool_state
5800
+ # Sets the instance state to transition to after the lifecycle actions
5801
+ # are complete. Default is `Stopped`.
5802
+ # @return [String]
5803
+ #
5804
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPoolType AWS API Documentation
5805
+ #
5806
+ class PutWarmPoolType < Struct.new(
5807
+ :auto_scaling_group_name,
5808
+ :max_group_prepared_capacity,
5809
+ :min_size,
5810
+ :pool_state)
5811
+ SENSITIVE = []
5812
+ include Aws::Structure
5813
+ end
5814
+
4954
5815
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RecordLifecycleActionHeartbeatAnswer AWS API Documentation
4955
5816
  #
4956
5817
  class RecordLifecycleActionHeartbeatAnswer < Aws::EmptyStructure; end
@@ -5124,6 +5985,8 @@ module Aws::AutoScaling
5124
5985
  #
5125
5986
  # * `SimpleScaling` (default)
5126
5987
  #
5988
+ # * `PredictiveScaling`
5989
+ #
5127
5990
  # For more information, see [Target tracking scaling policies][1] and
5128
5991
  # [Step and simple scaling policies][2] in the *Amazon EC2 Auto
5129
5992
  # Scaling User Guide*.
@@ -5188,6 +6051,10 @@ module Aws::AutoScaling
5188
6051
  # (`false`).
5189
6052
  # @return [Boolean]
5190
6053
  #
6054
+ # @!attribute [rw] predictive_scaling_configuration
6055
+ # A predictive scaling policy.
6056
+ # @return [Types::PredictiveScalingConfiguration]
6057
+ #
5191
6058
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ScalingPolicy AWS API Documentation
5192
6059
  #
5193
6060
  class ScalingPolicy < Struct.new(
@@ -5205,7 +6072,8 @@ module Aws::AutoScaling
5205
6072
  :estimated_instance_warmup,
5206
6073
  :alarms,
5207
6074
  :target_tracking_configuration,
5208
- :enabled)
6075
+ :enabled,
6076
+ :predictive_scaling_configuration)
5209
6077
  SENSITIVE = []
5210
6078
  include Aws::Structure
5211
6079
  end
@@ -5766,7 +6634,7 @@ module Aws::AutoScaling
5766
6634
  # }
5767
6635
  #
5768
6636
  # @!attribute [rw] resource_id
5769
- # The name of the group.
6637
+ # The name of the Auto Scaling group.
5770
6638
  # @return [String]
5771
6639
  #
5772
6640
  # @!attribute [rw] resource_type
@@ -5995,6 +6863,7 @@ module Aws::AutoScaling
5995
6863
  # service_linked_role_arn: "ResourceName",
5996
6864
  # max_instance_lifetime: 1,
5997
6865
  # capacity_rebalance: false,
6866
+ # context: "Context",
5998
6867
  # }
5999
6868
  #
6000
6869
  # @!attribute [rw] auto_scaling_group_name
@@ -6069,9 +6938,9 @@ module Aws::AutoScaling
6069
6938
  #
6070
6939
  # @!attribute [rw] health_check_type
6071
6940
  # The service to use for the health checks. The valid values are `EC2`
6072
- # and `ELB`. If you configure an Auto Scaling group to use ELB health
6073
- # checks, it considers the instance unhealthy if it fails either the
6074
- # EC2 status checks or the load balancer health checks.
6941
+ # and `ELB`. If you configure an Auto Scaling group to use `ELB`
6942
+ # health checks, it considers the instance unhealthy if it fails
6943
+ # either the EC2 status checks or the load balancer health checks.
6075
6944
  # @return [String]
6076
6945
  #
6077
6946
  # @!attribute [rw] health_check_grace_period
@@ -6134,9 +7003,9 @@ module Aws::AutoScaling
6134
7003
  #
6135
7004
  # @!attribute [rw] service_linked_role_arn
6136
7005
  # The Amazon Resource Name (ARN) of the service-linked role that the
6137
- # Auto Scaling group uses to call other AWS services on your behalf.
6138
- # For more information, see [Service-linked roles][1] in the *Amazon
6139
- # EC2 Auto Scaling User Guide*.
7006
+ # Auto Scaling group uses to call other Amazon Web Services on your
7007
+ # behalf. For more information, see [Service-linked roles][1] in the
7008
+ # *Amazon EC2 Auto Scaling User Guide*.
6140
7009
  #
6141
7010
  #
6142
7011
  #
@@ -6166,6 +7035,10 @@ module Aws::AutoScaling
6166
7035
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
6167
7036
  # @return [Boolean]
6168
7037
  #
7038
+ # @!attribute [rw] context
7039
+ # Reserved.
7040
+ # @return [String]
7041
+ #
6169
7042
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroupType AWS API Documentation
6170
7043
  #
6171
7044
  class UpdateAutoScalingGroupType < Struct.new(
@@ -6186,7 +7059,39 @@ module Aws::AutoScaling
6186
7059
  :new_instances_protected_from_scale_in,
6187
7060
  :service_linked_role_arn,
6188
7061
  :max_instance_lifetime,
6189
- :capacity_rebalance)
7062
+ :capacity_rebalance,
7063
+ :context)
7064
+ SENSITIVE = []
7065
+ include Aws::Structure
7066
+ end
7067
+
7068
+ # Describes a warm pool configuration.
7069
+ #
7070
+ # @!attribute [rw] max_group_prepared_capacity
7071
+ # The maximum number of instances that are allowed to be in the warm
7072
+ # pool or in any state except `Terminated` for the Auto Scaling group.
7073
+ # @return [Integer]
7074
+ #
7075
+ # @!attribute [rw] min_size
7076
+ # The minimum number of instances to maintain in the warm pool.
7077
+ # @return [Integer]
7078
+ #
7079
+ # @!attribute [rw] pool_state
7080
+ # The instance state to transition to after the lifecycle actions are
7081
+ # complete.
7082
+ # @return [String]
7083
+ #
7084
+ # @!attribute [rw] status
7085
+ # The status of a warm pool that is marked for deletion.
7086
+ # @return [String]
7087
+ #
7088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/WarmPoolConfiguration AWS API Documentation
7089
+ #
7090
+ class WarmPoolConfiguration < Struct.new(
7091
+ :max_group_prepared_capacity,
7092
+ :min_size,
7093
+ :pool_state,
7094
+ :status)
6190
7095
  SENSITIVE = []
6191
7096
  include Aws::Structure
6192
7097
  end