{ "$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-scaling-policy-structure.json", "name": "ScalingPolicy", "description": "Describes a scaling policy.", "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 scaling policy." } ] }, "PolicyARN": { "allOf": [ { "$ref": "#/components/schemas/ResourceName" }, { "description": "The Amazon Resource Name (ARN) of the policy." } ] }, "PolicyType": { "allOf": [ { "$ref": "#/components/schemas/XmlStringMaxLen64" }, { "description": "

One of the following policy types:

For more information, see Target tracking scaling policies and Step and simple scaling policies in the Amazon EC2 Auto Scaling User Guide.

" } ] }, "AdjustmentType": { "allOf": [ { "$ref": "#/components/schemas/XmlStringMaxLen255" }, { "description": "Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity." } ] }, "MinAdjustmentStep": { "allOf": [ { "$ref": "#/components/schemas/MinAdjustmentStep" }, { "description": "Available for backward compatibility. Use MinAdjustmentMagnitude instead." } ] }, "MinAdjustmentMagnitude": { "allOf": [ { "$ref": "#/components/schemas/MinAdjustmentMagnitude" }, { "description": "The minimum value to scale by when the adjustment type is PercentChangeInCapacity. " } ] }, "ScalingAdjustment": { "allOf": [ { "$ref": "#/components/schemas/PolicyIncrement" }, { "description": "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." } ] }, "Cooldown": { "allOf": [ { "$ref": "#/components/schemas/Cooldown" }, { "description": "The duration of the policy's cooldown period, in seconds." } ] }, "StepAdjustments": { "allOf": [ { "$ref": "#/components/schemas/StepAdjustments" }, { "description": "A set of adjustments that enable you to scale based on the size of the alarm breach." } ] }, "MetricAggregationType": { "allOf": [ { "$ref": "#/components/schemas/XmlStringMaxLen32" }, { "description": "The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average." } ] }, "EstimatedInstanceWarmup": { "allOf": [ { "$ref": "#/components/schemas/EstimatedInstanceWarmup" }, { "description": "The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics." } ] }, "Alarms": { "allOf": [ { "$ref": "#/components/schemas/Alarms" }, { "description": "The CloudWatch alarms related to the policy." } ] }, "TargetTrackingConfiguration": { "allOf": [ { "$ref": "#/components/schemas/TargetTrackingConfiguration" }, { "description": "A target tracking scaling policy." } ] }, "Enabled": { "allOf": [ { "$ref": "#/components/schemas/ScalingPolicyEnabled" }, { "description": "Indicates whether the policy is enabled (true) or disabled (false)." } ] }, "PredictiveScalingConfiguration": { "allOf": [ { "$ref": "#/components/schemas/PredictiveScalingConfiguration" }, { "description": "A predictive scaling policy." } ] } } }