AWS::AutoScaling::ScalingPolicy MetricDataQuery
The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.
MetricDataQuery
is a property of the following property types:
Predictive scaling uses the time series data received from CloudWatch to understand how to schedule capacity based on your historical workload patterns.
You can call for a single metric or perform math expressions on multiple metrics. Any expressions used in a metric specification must eventually return a single time series.
For more information and examples, see Advanced predictive scaling policy configurations using custom metrics in the Amazon EC2 Auto Scaling User Guide.
Syntax
To declare this entity in your Amazon CloudFormation template, use the following syntax:
JSON
{ "Expression" :
String
, "Id" :String
, "Label" :String
, "MetricStat" :MetricStat
, "ReturnData" :Boolean
}
YAML
Expression:
String
Id:String
Label:String
MetricStat:MetricStat
ReturnData:Boolean
Properties
Expression

The math expression to perform on the returned data, if this object is performing a math expression. This expression can use the
Id
of the other metrics to refer to those metrics, and can also use theId
of other expressions to use the result of those expressions.Conditional: Within each
MetricDataQuery
object, you must specify eitherExpression
orMetricStat
, but not both.Required: No
Type: String
Pattern:
[\u0020\uD7FF\uE000\uFFFD\uD800\uDC00\uDBFF\uDFFF\r\n\t]*
Minimum:
1
Maximum:
1023
Update requires: No interruption
Id

A short name that identifies the object's results in the response. This name must be unique among all
MetricDataQuery
objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.Required: Yes
Type: String
Pattern:
[\u0020\uD7FF\uE000\uFFFD\uD800\uDC00\uDBFF\uDFFF\r\n\t]*
Minimum:
1
Maximum:
255
Update requires: No interruption
Label

A humanreadable label for this metric or expression. This is especially useful if this is a math expression, so that you know what the value represents.
Required: No
Type: String
Pattern:
[\u0020\uD7FF\uE000\uFFFD\uD800\uDC00\uDBFF\uDFFF\r\n\t]*
Maximum:
2047
Update requires: No interruption
MetricStat

Information about the metric data to return.
Conditional: Within each
MetricDataQuery
object, you must specify eitherExpression
orMetricStat
, but not both.Required: No
Type: MetricStat
Update requires: No interruption
ReturnData

Indicates whether to return the timestamps and raw data values of this metric.
If you use any math expressions, specify
true
for this value for only the final math expression that the metric specification is based on. You must specifyfalse
forReturnData
for all the other metrics and expressions used in the metric specification.If you are only retrieving metrics and not performing any math expressions, do not specify anything for
ReturnData
. This sets it to its default (true
).Required: No
Type: Boolean
Update requires: No interruption