Amazon EC2 Auto Scaling · JSON Structure
Ec2 Auto Scaling Put Scaling Policy Type Structure
PutScalingPolicyType schema from Auto Scaling
Type: object
Properties: 14
Required: 2
Amazon Web ServicesAuto ScalingComputeEC2High AvailabilityScaling
PutScalingPolicyType is a JSON Structure definition published by Amazon EC2 Auto Scaling, describing 14 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
AutoScalingGroupName
PolicyName
PolicyType
AdjustmentType
MinAdjustmentStep
MinAdjustmentMagnitude
ScalingAdjustment
Cooldown
MetricAggregationType
StepAdjustments
EstimatedInstanceWarmup
TargetTrackingConfiguration
Enabled
PredictiveScalingConfiguration
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-ec2-auto-scaling/refs/heads/main/json-structure/ec2-auto-scaling-put-scaling-policy-type-structure.json",
"name": "PutScalingPolicyType",
"description": "PutScalingPolicyType schema from Auto Scaling",
"type": "object",
"properties": {
"AutoScalingGroupName": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The name of the Auto Scaling group."
}
]
},
"PolicyName": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The name of the policy."
}
]
},
"PolicyType": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen64"
},
{
"description": "<p>One of the following policy types: </p> <ul> <li> <p> <code>TargetTrackingScaling</code> </p> </li> <li> <p> <code>StepScaling</code> </p> </li> <li> <p> <code>SimpleScaling</code> (default)</p> </li> <li> <p> <code>PredictiveScaling</code> </p> </li> </ul>"
}
]
},
"AdjustmentType": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "<p>Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are <code>ChangeInCapacity</code>, <code>ExactCapacity</code>, and <code>PercentChangeInCapacity</code>.</p> <p>Required if the policy type is <code>StepScaling</code> or <code>SimpleScaling</code>. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment\">Scaling adjustment types</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>"
}
]
},
"MinAdjustmentStep": {
"allOf": [
{
"$ref": "#/components/schemas/MinAdjustmentStep"
},
{
"description": "Available for backward compatibility. Use <code>MinAdjustmentMagnitude</code> instead."
}
]
},
"MinAdjustmentMagnitude": {
"allOf": [
{
"$ref": "#/components/schemas/MinAdjustmentMagnitude"
},
{
"description": "<p>The minimum value to scale by when the adjustment type is <code>PercentChangeInCapacity</code>. For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a <code>MinAdjustmentMagnitude</code> of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a <code>MinAdjustmentMagnitude</code> of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.</p> <p>Valid only if the policy type is <code>StepScaling</code> or <code>SimpleScaling</code>. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment\">Scaling adjustment types</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p> <note> <p>Some Auto Scaling groups use instance weights. In this case, set the <code>MinAdjustmentMagnitude</code> to a value that is at least as large as your largest instance weight.</p> </note>"
}
]
},
"ScalingAdjustment": {
"allOf": [
{
"$ref": "#/components/schemas/PolicyIncrement"
},
{
"description": "<p>The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a positive value.</p> <p>Required if the policy type is <code>SimpleScaling</code>. (Not used with any other policy type.) </p>"
}
]
},
"Cooldown": {
"allOf": [
{
"$ref": "#/components/schemas/Cooldown"
},
{
"description": "<p>A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.</p> <p>Valid only if the policy type is <code>SimpleScaling</code>. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html\">Scaling cooldowns for Amazon EC2 Auto Scaling</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p> <p>Default: None</p>"
}
]
},
"MetricAggregationType": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen32"
},
{
"description": "<p>The aggregation type for the CloudWatch metrics. The valid values are <code>Minimum</code>, <code>Maximum</code>, and <code>Average</code>. If the aggregation type is null, the value is treated as <code>Average</code>.</p> <p>Valid only if the policy type is <code>StepScaling</code>.</p>"
}
]
},
"StepAdjustments": {
"allOf": [
{
"$ref": "#/components/schemas/StepAdjustments"
},
{
"description": "<p>A set of adjustments that enable you to scale based on the size of the alarm breach.</p> <p>Required if the policy type is <code>StepScaling</code>. (Not used with any other policy type.) </p>"
}
]
},
"EstimatedInstanceWarmup": {
"allOf": [
{
"$ref": "#/components/schemas/EstimatedInstanceWarmup"
},
{
"description": "<p> <i>Not needed if the default instance warmup is defined for the group.</i> </p> <p>The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. This warm-up period applies to instances launched due to a specific target tracking or step scaling policy. When a warm-up period is specified here, it overrides the default instance warmup.</p> <p>Valid only if the policy type is <code>TargetTrackingScaling</code> or <code>StepScaling</code>.</p> <note> <p>The default is to use the value for the default instance warmup defined for the group. If default instance warmup is null, then <code>EstimatedInstanceWarmup</code> falls back to the value of default cooldown.</p> </note>"
}
]
},
"TargetTrackingConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/TargetTrackingConfiguration"
},
{
"description": "<p>A target tracking scaling policy. Provides support for predefined or custom metrics.</p> <p>The following predefined metrics are available:</p> <ul> <li> <p> <code>ASGAverageCPUUtilization</code> </p> </li> <li> <p> <code>ASGAverageNetworkIn</code> </p> </li> <li> <p> <code>ASGAverageNetworkOut</code> </p> </li> <li> <p> <code>ALBRequestCountPerTarget</code> </p> </li> </ul> <p>If you specify <code>ALBRequestCountPerTarget</code> for the metric, you must specify the <code>ResourceLabel</code> property with the <code>PredefinedMetricSpecification</code>.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TargetTrackingConfiguration.html\">TargetTrackingConfiguration</a> in the <i>Amazon EC2 Auto Scaling API Reference</i>.</p> <p>Required if the policy type is <code>TargetTrackingScaling</code>.</p>"
}
]
},
"Enabled": {
"allOf": [
{
"$ref": "#/components/schemas/ScalingPolicyEnabled"
},
{
"description": "Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html\">Disabling a scaling policy for an Auto Scaling group</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>."
}
]
},
"PredictiveScalingConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/PredictiveScalingConfiguration"
},
{
"description": "<p>A predictive scaling policy. Provides support for predefined and custom metrics.</p> <p>Predefined metrics include CPU utilization, network in/out, and the Application Load Balancer request count.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingConfiguration.html\">PredictiveScalingConfiguration</a> in the <i>Amazon EC2 Auto Scaling API Reference</i>.</p> <p>Required if the policy type is <code>PredictiveScaling</code>.</p>"
}
]
}
},
"required": [
"AutoScalingGroupName",
"PolicyName"
]
}