aws-sdk-autoscaling 1.72.0 → 1.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -393,7 +393,7 @@ module Aws::AutoScaling
393
393
  # @!attribute [rw] health_check_grace_period
394
394
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
395
395
  # before checking the health status of an EC2 instance that has come
396
- # into service.
396
+ # into service and marking it unhealthy due to a failed health check.
397
397
  # @return [Integer]
398
398
  #
399
399
  # @!attribute [rw] instances
@@ -916,7 +916,7 @@ module Aws::AutoScaling
916
916
  # data points.
917
917
  #
918
918
  # @!attribute [rw] timestamps
919
- # The time stamps for the data points, in UTC format.
919
+ # The timestamps for the data points, in UTC format.
920
920
  # @return [Array<Time>]
921
921
  #
922
922
  # @!attribute [rw] values
@@ -1152,7 +1152,7 @@ module Aws::AutoScaling
1152
1152
  #
1153
1153
  #
1154
1154
  #
1155
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
1155
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
1156
1156
  # @return [Types::MixedInstancesPolicy]
1157
1157
  #
1158
1158
  # @!attribute [rw] instance_id
@@ -1255,10 +1255,9 @@ module Aws::AutoScaling
1255
1255
  # @!attribute [rw] health_check_grace_period
1256
1256
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
1257
1257
  # before checking the health status of an EC2 instance that has come
1258
- # into service. During this time, any health check failures for the
1259
- # instance are ignored. The default value is `0`. For more
1260
- # information, see [Health check grace period][1] in the *Amazon EC2
1261
- # Auto Scaling User Guide*.
1258
+ # into service and marking it unhealthy due to a failed health check.
1259
+ # The default value is `0`. For more information, see [Health check
1260
+ # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
1262
1261
  #
1263
1262
  # Conditional: Required if you are adding an `ELB` health check.
1264
1263
  #
@@ -1307,12 +1306,12 @@ module Aws::AutoScaling
1307
1306
  # Indicates whether newly launched instances are protected from
1308
1307
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
1309
1308
  # information about preventing instances from terminating on scale in,
1310
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto
1309
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
1311
1310
  # Scaling User Guide*.
1312
1311
  #
1313
1312
  #
1314
1313
  #
1315
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
1314
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
1316
1315
  # @return [Boolean]
1317
1316
  #
1318
1317
  # @!attribute [rw] capacity_rebalance
@@ -1327,7 +1326,7 @@ module Aws::AutoScaling
1327
1326
  #
1328
1327
  #
1329
1328
  #
1330
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
1329
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
1331
1330
  # @return [Boolean]
1332
1331
  #
1333
1332
  # @!attribute [rw] lifecycle_hook_specification_list
@@ -1806,7 +1805,7 @@ module Aws::AutoScaling
1806
1805
  # * Add values for each required parameter from CloudWatch. You can use
1807
1806
  # an existing metric, or a new metric that you create. To use your own
1808
1807
  # metric, you must first publish the metric to CloudWatch. For more
1809
- # information, see [Publish Custom Metrics][1] in the *Amazon
1808
+ # information, see [Publish custom metrics][1] in the *Amazon
1810
1809
  # CloudWatch User Guide*.
1811
1810
  #
1812
1811
  # * Choose a metric that changes proportionally with capacity. The value
@@ -1814,13 +1813,21 @@ module Aws::AutoScaling
1814
1813
  # the number of capacity units. That is, the value of the metric
1815
1814
  # should decrease when capacity increases.
1816
1815
  #
1817
- # For more information about CloudWatch, see [Amazon CloudWatch
1818
- # Concepts][2].
1816
+ # For more information about the CloudWatch terminology below, see
1817
+ # [Amazon CloudWatch concepts][2].
1818
+ #
1819
+ # <note markdown="1"> Each individual service provides information about the metrics,
1820
+ # namespace, and dimensions they use. For more information, see [Amazon
1821
+ # Web Services services that publish CloudWatch metrics][3] in the
1822
+ # *Amazon CloudWatch User Guide*.
1823
+ #
1824
+ # </note>
1819
1825
  #
1820
1826
  #
1821
1827
  #
1822
1828
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html
1823
1829
  # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html
1830
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html
1824
1831
  #
1825
1832
  # @note When making an API call, you may pass CustomizedMetricSpecification
1826
1833
  # data as a hash:
@@ -1839,7 +1846,14 @@ module Aws::AutoScaling
1839
1846
  # }
1840
1847
  #
1841
1848
  # @!attribute [rw] metric_name
1842
- # The name of the metric.
1849
+ # The name of the metric. To get the exact metric name, namespace, and
1850
+ # dimensions, inspect the [Metric][1] object that is returned by a
1851
+ # call to [ListMetrics][2].
1852
+ #
1853
+ #
1854
+ #
1855
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html
1856
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html
1843
1857
  # @return [String]
1844
1858
  #
1845
1859
  # @!attribute [rw] namespace
@@ -1858,7 +1872,13 @@ module Aws::AutoScaling
1858
1872
  # @return [String]
1859
1873
  #
1860
1874
  # @!attribute [rw] unit
1861
- # The unit of the metric.
1875
+ # The unit of the metric. For a complete list of the units that
1876
+ # CloudWatch supports, see the [MetricDatum][1] data type in the
1877
+ # *Amazon CloudWatch API Reference*.
1878
+ #
1879
+ #
1880
+ #
1881
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
1862
1882
  # @return [String]
1863
1883
  #
1864
1884
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CustomizedMetricSpecification AWS API Documentation
@@ -1943,8 +1963,7 @@ module Aws::AutoScaling
1943
1963
  # @return [String]
1944
1964
  #
1945
1965
  # @!attribute [rw] topic_arn
1946
- # The Amazon Resource Name (ARN) of the Amazon Simple Notification
1947
- # Service (Amazon SNS) topic.
1966
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic.
1948
1967
  # @return [String]
1949
1968
  #
1950
1969
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteNotificationConfigurationType AWS API Documentation
@@ -2827,7 +2846,7 @@ module Aws::AutoScaling
2827
2846
  #
2828
2847
  #
2829
2848
  #
2830
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
2849
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
2831
2850
  # @return [Types::MixedInstancesPolicy]
2832
2851
  #
2833
2852
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DesiredConfiguration AWS API Documentation
@@ -4790,7 +4809,7 @@ module Aws::AutoScaling
4790
4809
  #
4791
4810
  #
4792
4811
  #
4793
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-override-options.html
4812
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-configuring-overrides.html
4794
4813
  #
4795
4814
  # @note When making an API call, you may pass LaunchTemplateOverrides
4796
4815
  # data as a hash:
@@ -4880,7 +4899,7 @@ module Aws::AutoScaling
4880
4899
  #
4881
4900
  #
4882
4901
  #
4883
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html
4902
+ # [1]: https://docs.aws.amazon.com/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html
4884
4903
  # @return [String]
4885
4904
  #
4886
4905
  # @!attribute [rw] launch_template_specification
@@ -4894,7 +4913,7 @@ module Aws::AutoScaling
4894
4913
  #
4895
4914
  #
4896
4915
  #
4897
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-template-overrides.html
4916
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html
4898
4917
  # @return [Types::LaunchTemplateSpecification]
4899
4918
  #
4900
4919
  # @!attribute [rw] instance_requirements
@@ -4991,9 +5010,9 @@ module Aws::AutoScaling
4991
5010
  include Aws::Structure
4992
5011
  end
4993
5012
 
4994
- # Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that
4995
- # you want to perform an action whenever it launches instances or
4996
- # terminates instances.
5013
+ # Describes a lifecycle hook, which enables an Auto Scaling group to be
5014
+ # aware of events in the Auto Scaling instance lifecycle, and then
5015
+ # perform a custom action when the corresponding lifecycle event occurs.
4997
5016
  #
4998
5017
  # @!attribute [rw] lifecycle_hook_name
4999
5018
  # The name of the lifecycle hook.
@@ -5068,31 +5087,6 @@ module Aws::AutoScaling
5068
5087
  # Describes information used to specify a lifecycle hook for an Auto
5069
5088
  # Scaling group.
5070
5089
  #
5071
- # A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on
5072
- # an instance when the instance launches (before it is put into service)
5073
- # or as the instance terminates (before it is fully terminated).
5074
- #
5075
- # This step is a part of the procedure for creating a lifecycle hook for
5076
- # an Auto Scaling group:
5077
- #
5078
- # 1. (Optional) Create a Lambda function and a rule that allows
5079
- # CloudWatch Events to invoke your Lambda function when Amazon EC2
5080
- # Auto Scaling launches or terminates instances.
5081
- #
5082
- # 2. (Optional) Create a notification target and an IAM role. The
5083
- # target can be either an Amazon SQS queue or an Amazon SNS topic.
5084
- # The role allows Amazon EC2 Auto Scaling to publish lifecycle
5085
- # notifications to the target.
5086
- #
5087
- # 3. **Create the lifecycle hook. Specify whether the hook is used when
5088
- # the instances launch or terminate.**
5089
- #
5090
- # 4. If you need more time, record the lifecycle action heartbeat to
5091
- # keep the instance in a pending state.
5092
- #
5093
- # 5. If you finish before the timeout period ends, complete the
5094
- # lifecycle action.
5095
- #
5096
5090
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
5097
5091
  # in the *Amazon EC2 Auto Scaling User Guide*.
5098
5092
  #
@@ -5273,7 +5267,7 @@ module Aws::AutoScaling
5273
5267
  # the metric specification.
5274
5268
  #
5275
5269
  # @!attribute [rw] timestamps
5276
- # The time stamps for the data points, in UTC format.
5270
+ # The timestamps for the data points, in UTC format.
5277
5271
  # @return [Array<Time>]
5278
5272
  #
5279
5273
  # @!attribute [rw] values
@@ -5350,6 +5344,60 @@ module Aws::AutoScaling
5350
5344
  include Aws::Structure
5351
5345
  end
5352
5346
 
5347
+ # Represents a specific metric.
5348
+ #
5349
+ # @note When making an API call, you may pass Metric
5350
+ # data as a hash:
5351
+ #
5352
+ # {
5353
+ # namespace: "MetricNamespace", # required
5354
+ # metric_name: "MetricName", # required
5355
+ # dimensions: [
5356
+ # {
5357
+ # name: "MetricDimensionName", # required
5358
+ # value: "MetricDimensionValue", # required
5359
+ # },
5360
+ # ],
5361
+ # }
5362
+ #
5363
+ # @!attribute [rw] namespace
5364
+ # The namespace of the metric. For more information, see the table in
5365
+ # [Amazon Web Services services that publish CloudWatch metrics ][1]
5366
+ # in the *Amazon CloudWatch User Guide*.
5367
+ #
5368
+ #
5369
+ #
5370
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html
5371
+ # @return [String]
5372
+ #
5373
+ # @!attribute [rw] metric_name
5374
+ # The name of the metric.
5375
+ # @return [String]
5376
+ #
5377
+ # @!attribute [rw] dimensions
5378
+ # The dimensions for the metric. For the list of available dimensions,
5379
+ # see the Amazon Web Services documentation available from the table
5380
+ # in [Amazon Web Services services that publish CloudWatch metrics
5381
+ # ][1] in the *Amazon CloudWatch User Guide*.
5382
+ #
5383
+ # Conditional: If you published your metric with dimensions, you must
5384
+ # specify the same dimensions in your scaling policy.
5385
+ #
5386
+ #
5387
+ #
5388
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html
5389
+ # @return [Array<Types::MetricDimension>]
5390
+ #
5391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/Metric AWS API Documentation
5392
+ #
5393
+ class Metric < Struct.new(
5394
+ :namespace,
5395
+ :metric_name,
5396
+ :dimensions)
5397
+ SENSITIVE = []
5398
+ include Aws::Structure
5399
+ end
5400
+
5353
5401
  # Describes a metric.
5354
5402
  #
5355
5403
  # @!attribute [rw] metric
@@ -5404,6 +5452,103 @@ module Aws::AutoScaling
5404
5452
  include Aws::Structure
5405
5453
  end
5406
5454
 
5455
+ # The metric data to return. Also defines whether this call is returning
5456
+ # data for one metric only, or whether it is performing a math
5457
+ # expression on the values of returned metric statistics to create a new
5458
+ # time series. A time series is a series of data points, each of which
5459
+ # is associated with a timestamp.
5460
+ #
5461
+ # For more information and examples, see [Advanced predictive scaling
5462
+ # policy configurations using custom metrics][1] in the *Amazon EC2 Auto
5463
+ # Scaling User Guide*.
5464
+ #
5465
+ #
5466
+ #
5467
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/predictive-scaling-customized-metric-specification.html
5468
+ #
5469
+ # @note When making an API call, you may pass MetricDataQuery
5470
+ # data as a hash:
5471
+ #
5472
+ # {
5473
+ # id: "XmlStringMaxLen255", # required
5474
+ # expression: "XmlStringMaxLen1023",
5475
+ # metric_stat: {
5476
+ # metric: { # required
5477
+ # namespace: "MetricNamespace", # required
5478
+ # metric_name: "MetricName", # required
5479
+ # dimensions: [
5480
+ # {
5481
+ # name: "MetricDimensionName", # required
5482
+ # value: "MetricDimensionValue", # required
5483
+ # },
5484
+ # ],
5485
+ # },
5486
+ # stat: "XmlStringMetricStat", # required
5487
+ # unit: "MetricUnit",
5488
+ # },
5489
+ # label: "XmlStringMetricLabel",
5490
+ # return_data: false,
5491
+ # }
5492
+ #
5493
+ # @!attribute [rw] id
5494
+ # A short name that identifies the object's results in the response.
5495
+ # This name must be unique among all `MetricDataQuery` objects
5496
+ # specified for a single scaling policy. If you are performing math
5497
+ # expressions on this set of data, this name represents that data and
5498
+ # can serve as a variable in the mathematical expression. The valid
5499
+ # characters are letters, numbers, and underscores. The first
5500
+ # character must be a lowercase letter.
5501
+ # @return [String]
5502
+ #
5503
+ # @!attribute [rw] expression
5504
+ # The math expression to perform on the returned data, if this object
5505
+ # is performing a math expression. This expression can use the `Id` of
5506
+ # the other metrics to refer to those metrics, and can also use the
5507
+ # `Id` of other expressions to use the result of those expressions.
5508
+ #
5509
+ # Conditional: Within each `MetricDataQuery` object, you must specify
5510
+ # either `Expression` or `MetricStat`, but not both.
5511
+ # @return [String]
5512
+ #
5513
+ # @!attribute [rw] metric_stat
5514
+ # Information about the metric data to return.
5515
+ #
5516
+ # Conditional: Within each `MetricDataQuery` object, you must specify
5517
+ # either `Expression` or `MetricStat`, but not both.
5518
+ # @return [Types::MetricStat]
5519
+ #
5520
+ # @!attribute [rw] label
5521
+ # A human-readable label for this metric or expression. This is
5522
+ # especially useful if this is a math expression, so that you know
5523
+ # what the value represents.
5524
+ # @return [String]
5525
+ #
5526
+ # @!attribute [rw] return_data
5527
+ # Indicates whether to return the timestamps and raw data values of
5528
+ # this metric.
5529
+ #
5530
+ # If you use any math expressions, specify `true` for this value for
5531
+ # only the final math expression that the metric specification is
5532
+ # based on. You must specify `false` for `ReturnData` for all the
5533
+ # other metrics and expressions used in the metric specification.
5534
+ #
5535
+ # If you are only retrieving metrics and not performing any math
5536
+ # expressions, do not specify anything for `ReturnData`. This sets it
5537
+ # to its default (`true`).
5538
+ # @return [Boolean]
5539
+ #
5540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MetricDataQuery AWS API Documentation
5541
+ #
5542
+ class MetricDataQuery < Struct.new(
5543
+ :id,
5544
+ :expression,
5545
+ :metric_stat,
5546
+ :label,
5547
+ :return_data)
5548
+ SENSITIVE = []
5549
+ include Aws::Structure
5550
+ end
5551
+
5407
5552
  # Describes the dimension of a metric.
5408
5553
  #
5409
5554
  # @note When making an API call, you may pass MetricDimension
@@ -5445,6 +5590,79 @@ module Aws::AutoScaling
5445
5590
  include Aws::Structure
5446
5591
  end
5447
5592
 
5593
+ # This structure defines the CloudWatch metric to return, along with the
5594
+ # statistic, period, and unit.
5595
+ #
5596
+ # For more information about the CloudWatch terminology below, see
5597
+ # [Amazon CloudWatch concepts][1] in the *Amazon CloudWatch User Guide*.
5598
+ #
5599
+ #
5600
+ #
5601
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html
5602
+ #
5603
+ # @note When making an API call, you may pass MetricStat
5604
+ # data as a hash:
5605
+ #
5606
+ # {
5607
+ # metric: { # required
5608
+ # namespace: "MetricNamespace", # required
5609
+ # metric_name: "MetricName", # required
5610
+ # dimensions: [
5611
+ # {
5612
+ # name: "MetricDimensionName", # required
5613
+ # value: "MetricDimensionValue", # required
5614
+ # },
5615
+ # ],
5616
+ # },
5617
+ # stat: "XmlStringMetricStat", # required
5618
+ # unit: "MetricUnit",
5619
+ # }
5620
+ #
5621
+ # @!attribute [rw] metric
5622
+ # The CloudWatch metric to return, including the metric name,
5623
+ # namespace, and dimensions. To get the exact metric name, namespace,
5624
+ # and dimensions, inspect the [Metric][1] object that is returned by a
5625
+ # call to [ListMetrics][2].
5626
+ #
5627
+ #
5628
+ #
5629
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html
5630
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html
5631
+ # @return [Types::Metric]
5632
+ #
5633
+ # @!attribute [rw] stat
5634
+ # The statistic to return. It can include any CloudWatch statistic or
5635
+ # extended statistic. For a list of valid values, see the table in
5636
+ # [Statistics][1] in the *Amazon CloudWatch User Guide*.
5637
+ #
5638
+ # The most commonly used metrics for predictive scaling are `Average`
5639
+ # and `Sum`.
5640
+ #
5641
+ #
5642
+ #
5643
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic
5644
+ # @return [String]
5645
+ #
5646
+ # @!attribute [rw] unit
5647
+ # The unit to use for the returned data points. For a complete list of
5648
+ # the units that CloudWatch supports, see the [MetricDatum][1] data
5649
+ # type in the *Amazon CloudWatch API Reference*.
5650
+ #
5651
+ #
5652
+ #
5653
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
5654
+ # @return [String]
5655
+ #
5656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/MetricStat AWS API Documentation
5657
+ #
5658
+ class MetricStat < Struct.new(
5659
+ :metric,
5660
+ :stat,
5661
+ :unit)
5662
+ SENSITIVE = []
5663
+ include Aws::Structure
5664
+ end
5665
+
5448
5666
  # Describes a mixed instances policy. A mixed instances policy contains
5449
5667
  # the instance types that Amazon EC2 Auto Scaling can launch and other
5450
5668
  # information that Amazon EC2 Auto Scaling can use to launch instances
@@ -5454,7 +5672,7 @@ module Aws::AutoScaling
5454
5672
  #
5455
5673
  #
5456
5674
  #
5457
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
5675
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
5458
5676
  #
5459
5677
  # @note When making an API call, you may pass MixedInstancesPolicy
5460
5678
  # data as a hash:
@@ -5591,8 +5809,7 @@ module Aws::AutoScaling
5591
5809
  # @return [String]
5592
5810
  #
5593
5811
  # @!attribute [rw] topic_arn
5594
- # The Amazon Resource Name (ARN) of the Amazon Simple Notification
5595
- # Service (Amazon SNS) topic.
5812
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic.
5596
5813
  # @return [String]
5597
5814
  #
5598
5815
  # @!attribute [rw] notification_type
@@ -5750,6 +5967,78 @@ module Aws::AutoScaling
5750
5967
  # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
5751
5968
  # resource_label: "XmlStringMaxLen1023",
5752
5969
  # },
5970
+ # customized_scaling_metric_specification: {
5971
+ # metric_data_queries: [ # required
5972
+ # {
5973
+ # id: "XmlStringMaxLen255", # required
5974
+ # expression: "XmlStringMaxLen1023",
5975
+ # metric_stat: {
5976
+ # metric: { # required
5977
+ # namespace: "MetricNamespace", # required
5978
+ # metric_name: "MetricName", # required
5979
+ # dimensions: [
5980
+ # {
5981
+ # name: "MetricDimensionName", # required
5982
+ # value: "MetricDimensionValue", # required
5983
+ # },
5984
+ # ],
5985
+ # },
5986
+ # stat: "XmlStringMetricStat", # required
5987
+ # unit: "MetricUnit",
5988
+ # },
5989
+ # label: "XmlStringMetricLabel",
5990
+ # return_data: false,
5991
+ # },
5992
+ # ],
5993
+ # },
5994
+ # customized_load_metric_specification: {
5995
+ # metric_data_queries: [ # required
5996
+ # {
5997
+ # id: "XmlStringMaxLen255", # required
5998
+ # expression: "XmlStringMaxLen1023",
5999
+ # metric_stat: {
6000
+ # metric: { # required
6001
+ # namespace: "MetricNamespace", # required
6002
+ # metric_name: "MetricName", # required
6003
+ # dimensions: [
6004
+ # {
6005
+ # name: "MetricDimensionName", # required
6006
+ # value: "MetricDimensionValue", # required
6007
+ # },
6008
+ # ],
6009
+ # },
6010
+ # stat: "XmlStringMetricStat", # required
6011
+ # unit: "MetricUnit",
6012
+ # },
6013
+ # label: "XmlStringMetricLabel",
6014
+ # return_data: false,
6015
+ # },
6016
+ # ],
6017
+ # },
6018
+ # customized_capacity_metric_specification: {
6019
+ # metric_data_queries: [ # required
6020
+ # {
6021
+ # id: "XmlStringMaxLen255", # required
6022
+ # expression: "XmlStringMaxLen1023",
6023
+ # metric_stat: {
6024
+ # metric: { # required
6025
+ # namespace: "MetricNamespace", # required
6026
+ # metric_name: "MetricName", # required
6027
+ # dimensions: [
6028
+ # {
6029
+ # name: "MetricDimensionName", # required
6030
+ # value: "MetricDimensionValue", # required
6031
+ # },
6032
+ # ],
6033
+ # },
6034
+ # stat: "XmlStringMetricStat", # required
6035
+ # unit: "MetricUnit",
6036
+ # },
6037
+ # label: "XmlStringMetricLabel",
6038
+ # return_data: false,
6039
+ # },
6040
+ # ],
6041
+ # },
5753
6042
  # },
5754
6043
  # ],
5755
6044
  # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
@@ -5832,6 +6121,139 @@ module Aws::AutoScaling
5832
6121
  include Aws::Structure
5833
6122
  end
5834
6123
 
6124
+ # Describes a customized capacity metric for a predictive scaling
6125
+ # policy.
6126
+ #
6127
+ # @note When making an API call, you may pass PredictiveScalingCustomizedCapacityMetric
6128
+ # data as a hash:
6129
+ #
6130
+ # {
6131
+ # metric_data_queries: [ # required
6132
+ # {
6133
+ # id: "XmlStringMaxLen255", # required
6134
+ # expression: "XmlStringMaxLen1023",
6135
+ # metric_stat: {
6136
+ # metric: { # required
6137
+ # namespace: "MetricNamespace", # required
6138
+ # metric_name: "MetricName", # required
6139
+ # dimensions: [
6140
+ # {
6141
+ # name: "MetricDimensionName", # required
6142
+ # value: "MetricDimensionValue", # required
6143
+ # },
6144
+ # ],
6145
+ # },
6146
+ # stat: "XmlStringMetricStat", # required
6147
+ # unit: "MetricUnit",
6148
+ # },
6149
+ # label: "XmlStringMetricLabel",
6150
+ # return_data: false,
6151
+ # },
6152
+ # ],
6153
+ # }
6154
+ #
6155
+ # @!attribute [rw] metric_data_queries
6156
+ # One or more metric data queries to provide the data points for a
6157
+ # capacity metric. Use multiple metric data queries only if you are
6158
+ # performing a math expression on returned data.
6159
+ # @return [Array<Types::MetricDataQuery>]
6160
+ #
6161
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingCustomizedCapacityMetric AWS API Documentation
6162
+ #
6163
+ class PredictiveScalingCustomizedCapacityMetric < Struct.new(
6164
+ :metric_data_queries)
6165
+ SENSITIVE = []
6166
+ include Aws::Structure
6167
+ end
6168
+
6169
+ # Describes a custom load metric for a predictive scaling policy.
6170
+ #
6171
+ # @note When making an API call, you may pass PredictiveScalingCustomizedLoadMetric
6172
+ # data as a hash:
6173
+ #
6174
+ # {
6175
+ # metric_data_queries: [ # required
6176
+ # {
6177
+ # id: "XmlStringMaxLen255", # required
6178
+ # expression: "XmlStringMaxLen1023",
6179
+ # metric_stat: {
6180
+ # metric: { # required
6181
+ # namespace: "MetricNamespace", # required
6182
+ # metric_name: "MetricName", # required
6183
+ # dimensions: [
6184
+ # {
6185
+ # name: "MetricDimensionName", # required
6186
+ # value: "MetricDimensionValue", # required
6187
+ # },
6188
+ # ],
6189
+ # },
6190
+ # stat: "XmlStringMetricStat", # required
6191
+ # unit: "MetricUnit",
6192
+ # },
6193
+ # label: "XmlStringMetricLabel",
6194
+ # return_data: false,
6195
+ # },
6196
+ # ],
6197
+ # }
6198
+ #
6199
+ # @!attribute [rw] metric_data_queries
6200
+ # One or more metric data queries to provide the data points for a
6201
+ # load metric. Use multiple metric data queries only if you are
6202
+ # performing a math expression on returned data.
6203
+ # @return [Array<Types::MetricDataQuery>]
6204
+ #
6205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingCustomizedLoadMetric AWS API Documentation
6206
+ #
6207
+ class PredictiveScalingCustomizedLoadMetric < Struct.new(
6208
+ :metric_data_queries)
6209
+ SENSITIVE = []
6210
+ include Aws::Structure
6211
+ end
6212
+
6213
+ # Describes a custom scaling metric for a predictive scaling policy.
6214
+ #
6215
+ # @note When making an API call, you may pass PredictiveScalingCustomizedScalingMetric
6216
+ # data as a hash:
6217
+ #
6218
+ # {
6219
+ # metric_data_queries: [ # required
6220
+ # {
6221
+ # id: "XmlStringMaxLen255", # required
6222
+ # expression: "XmlStringMaxLen1023",
6223
+ # metric_stat: {
6224
+ # metric: { # required
6225
+ # namespace: "MetricNamespace", # required
6226
+ # metric_name: "MetricName", # required
6227
+ # dimensions: [
6228
+ # {
6229
+ # name: "MetricDimensionName", # required
6230
+ # value: "MetricDimensionValue", # required
6231
+ # },
6232
+ # ],
6233
+ # },
6234
+ # stat: "XmlStringMetricStat", # required
6235
+ # unit: "MetricUnit",
6236
+ # },
6237
+ # label: "XmlStringMetricLabel",
6238
+ # return_data: false,
6239
+ # },
6240
+ # ],
6241
+ # }
6242
+ #
6243
+ # @!attribute [rw] metric_data_queries
6244
+ # One or more metric data queries to provide the data points for a
6245
+ # scaling metric. Use multiple metric data queries only if you are
6246
+ # performing a math expression on returned data.
6247
+ # @return [Array<Types::MetricDataQuery>]
6248
+ #
6249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingCustomizedScalingMetric AWS API Documentation
6250
+ #
6251
+ class PredictiveScalingCustomizedScalingMetric < Struct.new(
6252
+ :metric_data_queries)
6253
+ SENSITIVE = []
6254
+ include Aws::Structure
6255
+ end
6256
+
5835
6257
  # This structure specifies the metrics and target utilization settings
5836
6258
  # for a predictive scaling policy.
5837
6259
  #
@@ -5872,6 +6294,14 @@ module Aws::AutoScaling
5872
6294
  # requests received by each instance is as close to 1000 requests per
5873
6295
  # minute as possible at all times.
5874
6296
  #
6297
+ # For information about using custom metrics with predictive scaling,
6298
+ # see [Advanced predictive scaling policy configurations using custom
6299
+ # metrics][1] in the *Amazon EC2 Auto Scaling User Guide*.
6300
+ #
6301
+ #
6302
+ #
6303
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/predictive-scaling-customized-metric-specification.html
6304
+ #
5875
6305
  # @note When making an API call, you may pass PredictiveScalingMetricSpecification
5876
6306
  # data as a hash:
5877
6307
  #
@@ -5889,32 +6319,129 @@ module Aws::AutoScaling
5889
6319
  # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
5890
6320
  # resource_label: "XmlStringMaxLen1023",
5891
6321
  # },
6322
+ # customized_scaling_metric_specification: {
6323
+ # metric_data_queries: [ # required
6324
+ # {
6325
+ # id: "XmlStringMaxLen255", # required
6326
+ # expression: "XmlStringMaxLen1023",
6327
+ # metric_stat: {
6328
+ # metric: { # required
6329
+ # namespace: "MetricNamespace", # required
6330
+ # metric_name: "MetricName", # required
6331
+ # dimensions: [
6332
+ # {
6333
+ # name: "MetricDimensionName", # required
6334
+ # value: "MetricDimensionValue", # required
6335
+ # },
6336
+ # ],
6337
+ # },
6338
+ # stat: "XmlStringMetricStat", # required
6339
+ # unit: "MetricUnit",
6340
+ # },
6341
+ # label: "XmlStringMetricLabel",
6342
+ # return_data: false,
6343
+ # },
6344
+ # ],
6345
+ # },
6346
+ # customized_load_metric_specification: {
6347
+ # metric_data_queries: [ # required
6348
+ # {
6349
+ # id: "XmlStringMaxLen255", # required
6350
+ # expression: "XmlStringMaxLen1023",
6351
+ # metric_stat: {
6352
+ # metric: { # required
6353
+ # namespace: "MetricNamespace", # required
6354
+ # metric_name: "MetricName", # required
6355
+ # dimensions: [
6356
+ # {
6357
+ # name: "MetricDimensionName", # required
6358
+ # value: "MetricDimensionValue", # required
6359
+ # },
6360
+ # ],
6361
+ # },
6362
+ # stat: "XmlStringMetricStat", # required
6363
+ # unit: "MetricUnit",
6364
+ # },
6365
+ # label: "XmlStringMetricLabel",
6366
+ # return_data: false,
6367
+ # },
6368
+ # ],
6369
+ # },
6370
+ # customized_capacity_metric_specification: {
6371
+ # metric_data_queries: [ # required
6372
+ # {
6373
+ # id: "XmlStringMaxLen255", # required
6374
+ # expression: "XmlStringMaxLen1023",
6375
+ # metric_stat: {
6376
+ # metric: { # required
6377
+ # namespace: "MetricNamespace", # required
6378
+ # metric_name: "MetricName", # required
6379
+ # dimensions: [
6380
+ # {
6381
+ # name: "MetricDimensionName", # required
6382
+ # value: "MetricDimensionValue", # required
6383
+ # },
6384
+ # ],
6385
+ # },
6386
+ # stat: "XmlStringMetricStat", # required
6387
+ # unit: "MetricUnit",
6388
+ # },
6389
+ # label: "XmlStringMetricLabel",
6390
+ # return_data: false,
6391
+ # },
6392
+ # ],
6393
+ # },
5892
6394
  # }
5893
6395
  #
5894
6396
  # @!attribute [rw] target_value
5895
6397
  # Specifies the target utilization.
6398
+ #
6399
+ # <note markdown="1"> Some metrics are based on a count instead of a percentage, such as
6400
+ # the request count for an Application Load Balancer or the number of
6401
+ # messages in an SQS queue. If the scaling policy specifies one of
6402
+ # these metrics, specify the target utilization as the optimal average
6403
+ # request or message count per instance during any one-minute
6404
+ # interval.
6405
+ #
6406
+ # </note>
5896
6407
  # @return [Float]
5897
6408
  #
5898
6409
  # @!attribute [rw] predefined_metric_pair_specification
5899
- # The metric pair specification from which Amazon EC2 Auto Scaling
5900
- # determines the appropriate scaling metric and load metric to use.
6410
+ # The predefined metric pair specification from which Amazon EC2 Auto
6411
+ # Scaling determines the appropriate scaling metric and load metric to
6412
+ # use.
5901
6413
  # @return [Types::PredictiveScalingPredefinedMetricPair]
5902
6414
  #
5903
6415
  # @!attribute [rw] predefined_scaling_metric_specification
5904
- # The scaling metric specification.
6416
+ # The predefined scaling metric specification.
5905
6417
  # @return [Types::PredictiveScalingPredefinedScalingMetric]
5906
6418
  #
5907
6419
  # @!attribute [rw] predefined_load_metric_specification
5908
- # The load metric specification.
6420
+ # The predefined load metric specification.
5909
6421
  # @return [Types::PredictiveScalingPredefinedLoadMetric]
5910
6422
  #
6423
+ # @!attribute [rw] customized_scaling_metric_specification
6424
+ # The customized scaling metric specification.
6425
+ # @return [Types::PredictiveScalingCustomizedScalingMetric]
6426
+ #
6427
+ # @!attribute [rw] customized_load_metric_specification
6428
+ # The customized load metric specification.
6429
+ # @return [Types::PredictiveScalingCustomizedLoadMetric]
6430
+ #
6431
+ # @!attribute [rw] customized_capacity_metric_specification
6432
+ # The customized capacity metric specification.
6433
+ # @return [Types::PredictiveScalingCustomizedCapacityMetric]
6434
+ #
5911
6435
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredictiveScalingMetricSpecification AWS API Documentation
5912
6436
  #
5913
6437
  class PredictiveScalingMetricSpecification < Struct.new(
5914
6438
  :target_value,
5915
6439
  :predefined_metric_pair_specification,
5916
6440
  :predefined_scaling_metric_specification,
5917
- :predefined_load_metric_specification)
6441
+ :predefined_load_metric_specification,
6442
+ :customized_scaling_metric_specification,
6443
+ :customized_load_metric_specification,
6444
+ :customized_capacity_metric_specification)
5918
6445
  SENSITIVE = []
5919
6446
  include Aws::Structure
5920
6447
  end
@@ -6264,8 +6791,7 @@ module Aws::AutoScaling
6264
6791
  # @return [String]
6265
6792
  #
6266
6793
  # @!attribute [rw] topic_arn
6267
- # The Amazon Resource Name (ARN) of the Amazon Simple Notification
6268
- # Service (Amazon SNS) topic.
6794
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic.
6269
6795
  # @return [String]
6270
6796
  #
6271
6797
  # @!attribute [rw] notification_types
@@ -6342,6 +6868,78 @@ module Aws::AutoScaling
6342
6868
  # predefined_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
6343
6869
  # resource_label: "XmlStringMaxLen1023",
6344
6870
  # },
6871
+ # customized_scaling_metric_specification: {
6872
+ # metric_data_queries: [ # required
6873
+ # {
6874
+ # id: "XmlStringMaxLen255", # required
6875
+ # expression: "XmlStringMaxLen1023",
6876
+ # metric_stat: {
6877
+ # metric: { # required
6878
+ # namespace: "MetricNamespace", # required
6879
+ # metric_name: "MetricName", # required
6880
+ # dimensions: [
6881
+ # {
6882
+ # name: "MetricDimensionName", # required
6883
+ # value: "MetricDimensionValue", # required
6884
+ # },
6885
+ # ],
6886
+ # },
6887
+ # stat: "XmlStringMetricStat", # required
6888
+ # unit: "MetricUnit",
6889
+ # },
6890
+ # label: "XmlStringMetricLabel",
6891
+ # return_data: false,
6892
+ # },
6893
+ # ],
6894
+ # },
6895
+ # customized_load_metric_specification: {
6896
+ # metric_data_queries: [ # required
6897
+ # {
6898
+ # id: "XmlStringMaxLen255", # required
6899
+ # expression: "XmlStringMaxLen1023",
6900
+ # metric_stat: {
6901
+ # metric: { # required
6902
+ # namespace: "MetricNamespace", # required
6903
+ # metric_name: "MetricName", # required
6904
+ # dimensions: [
6905
+ # {
6906
+ # name: "MetricDimensionName", # required
6907
+ # value: "MetricDimensionValue", # required
6908
+ # },
6909
+ # ],
6910
+ # },
6911
+ # stat: "XmlStringMetricStat", # required
6912
+ # unit: "MetricUnit",
6913
+ # },
6914
+ # label: "XmlStringMetricLabel",
6915
+ # return_data: false,
6916
+ # },
6917
+ # ],
6918
+ # },
6919
+ # customized_capacity_metric_specification: {
6920
+ # metric_data_queries: [ # required
6921
+ # {
6922
+ # id: "XmlStringMaxLen255", # required
6923
+ # expression: "XmlStringMaxLen1023",
6924
+ # metric_stat: {
6925
+ # metric: { # required
6926
+ # namespace: "MetricNamespace", # required
6927
+ # metric_name: "MetricName", # required
6928
+ # dimensions: [
6929
+ # {
6930
+ # name: "MetricDimensionName", # required
6931
+ # value: "MetricDimensionValue", # required
6932
+ # },
6933
+ # ],
6934
+ # },
6935
+ # stat: "XmlStringMetricStat", # required
6936
+ # unit: "MetricUnit",
6937
+ # },
6938
+ # label: "XmlStringMetricLabel",
6939
+ # return_data: false,
6940
+ # },
6941
+ # ],
6942
+ # },
6345
6943
  # },
6346
6944
  # ],
6347
6945
  # mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
@@ -6466,7 +7064,7 @@ module Aws::AutoScaling
6466
7064
  #
6467
7065
  # @!attribute [rw] target_tracking_configuration
6468
7066
  # A target tracking scaling policy. Provides support for predefined or
6469
- # customized metrics.
7067
+ # custom metrics.
6470
7068
  #
6471
7069
  # The following predefined metrics are available:
6472
7070
  #
@@ -6504,11 +7102,11 @@ module Aws::AutoScaling
6504
7102
  # @return [Boolean]
6505
7103
  #
6506
7104
  # @!attribute [rw] predictive_scaling_configuration
6507
- # A predictive scaling policy. Provides support for only predefined
6508
- # metrics.
7105
+ # A predictive scaling policy. Provides support for predefined and
7106
+ # custom metrics.
6509
7107
  #
6510
- # Predictive scaling works with CPU utilization, network in/out, and
6511
- # the Application Load Balancer request count.
7108
+ # Predefined metrics include CPU utilization, network in/out, and the
7109
+ # Application Load Balancer request count.
6512
7110
  #
6513
7111
  # For more information, see [PredictiveScalingConfiguration][1] in the
6514
7112
  # *Amazon EC2 Auto Scaling API Reference*.
@@ -7972,7 +8570,7 @@ module Aws::AutoScaling
7972
8570
  #
7973
8571
  #
7974
8572
  #
7975
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
8573
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
7976
8574
  # @return [Types::MixedInstancesPolicy]
7977
8575
  #
7978
8576
  # @!attribute [rw] min_size
@@ -8027,9 +8625,9 @@ module Aws::AutoScaling
8027
8625
  # @!attribute [rw] health_check_grace_period
8028
8626
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
8029
8627
  # before checking the health status of an EC2 instance that has come
8030
- # into service. The default value is `0`. For more information, see
8031
- # [Health check grace period][1] in the *Amazon EC2 Auto Scaling User
8032
- # Guide*.
8628
+ # into service and marking it unhealthy due to a failed health check.
8629
+ # The default value is `0`. For more information, see [Health check
8630
+ # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
8033
8631
  #
8034
8632
  # Conditional: Required if you are adding an `ELB` health check.
8035
8633
  #
@@ -8074,12 +8672,12 @@ module Aws::AutoScaling
8074
8672
  # Indicates whether newly launched instances are protected from
8075
8673
  # termination by Amazon EC2 Auto Scaling when scaling in. For more
8076
8674
  # information about preventing instances from terminating on scale in,
8077
- # see [Instance scale-in protection][1] in the *Amazon EC2 Auto
8675
+ # see [Using instance scale-in protection][1] in the *Amazon EC2 Auto
8078
8676
  # Scaling User Guide*.
8079
8677
  #
8080
8678
  #
8081
8679
  #
8082
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
8680
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
8083
8681
  # @return [Boolean]
8084
8682
  #
8085
8683
  # @!attribute [rw] service_linked_role_arn
@@ -8113,7 +8711,7 @@ module Aws::AutoScaling
8113
8711
  #
8114
8712
  #
8115
8713
  #
8116
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
8714
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
8117
8715
  # @return [Boolean]
8118
8716
  #
8119
8717
  # @!attribute [rw] context