Amazon EC2 Auto Scaling · JSON Structure
Ec2 Auto Scaling Auto Scaling Group Structure
Describes an Auto Scaling group.
Type: object
Properties: 34
Required: 8
Amazon Web ServicesAuto ScalingComputeEC2High AvailabilityScaling
AutoScalingGroup is a JSON Structure definition published by Amazon EC2 Auto Scaling, describing 34 properties, of which 8 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
AutoScalingGroupName
AutoScalingGroupARN
LaunchConfigurationName
LaunchTemplate
MixedInstancesPolicy
MinSize
MaxSize
DesiredCapacity
PredictedCapacity
DefaultCooldown
AvailabilityZones
LoadBalancerNames
TargetGroupARNs
HealthCheckType
HealthCheckGracePeriod
Instances
CreatedTime
SuspendedProcesses
PlacementGroup
VPCZoneIdentifier
EnabledMetrics
Status
Tags
TerminationPolicies
NewInstancesProtectedFromScaleIn
ServiceLinkedRoleARN
MaxInstanceLifetime
CapacityRebalance
WarmPoolConfiguration
WarmPoolSize
Context
DesiredCapacityType
DefaultInstanceWarmup
TrafficSources
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-auto-scaling-group-structure.json",
"name": "AutoScalingGroup",
"description": "Describes an Auto Scaling group.",
"type": "object",
"properties": {
"AutoScalingGroupName": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The name of the Auto Scaling group."
}
]
},
"AutoScalingGroupARN": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The Amazon Resource Name (ARN) of the Auto Scaling group."
}
]
},
"LaunchConfigurationName": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The name of the associated launch configuration."
}
]
},
"LaunchTemplate": {
"allOf": [
{
"$ref": "#/components/schemas/LaunchTemplateSpecification"
},
{
"description": "The launch template for the group."
}
]
},
"MixedInstancesPolicy": {
"allOf": [
{
"$ref": "#/components/schemas/MixedInstancesPolicy"
},
{
"description": "The mixed instances policy for the group."
}
]
},
"MinSize": {
"allOf": [
{
"$ref": "#/components/schemas/AutoScalingGroupMinSize"
},
{
"description": "The minimum size of the group."
}
]
},
"MaxSize": {
"allOf": [
{
"$ref": "#/components/schemas/AutoScalingGroupMaxSize"
},
{
"description": "The maximum size of the group."
}
]
},
"DesiredCapacity": {
"allOf": [
{
"$ref": "#/components/schemas/AutoScalingGroupDesiredCapacity"
},
{
"description": "The desired size of the group."
}
]
},
"PredictedCapacity": {
"allOf": [
{
"$ref": "#/components/schemas/AutoScalingGroupPredictedCapacity"
},
{
"description": "The predicted capacity of the group when it has a predictive scaling policy."
}
]
},
"DefaultCooldown": {
"allOf": [
{
"$ref": "#/components/schemas/Cooldown"
},
{
"description": "The duration of the default cooldown period, in seconds."
}
]
},
"AvailabilityZones": {
"allOf": [
{
"$ref": "#/components/schemas/AvailabilityZones"
},
{
"description": "One or more Availability Zones for the group."
}
]
},
"LoadBalancerNames": {
"allOf": [
{
"$ref": "#/components/schemas/LoadBalancerNames"
},
{
"description": "One or more load balancers associated with the group."
}
]
},
"TargetGroupARNs": {
"allOf": [
{
"$ref": "#/components/schemas/TargetGroupARNs"
},
{
"description": "The Amazon Resource Names (ARN) of the target groups for your load balancer."
}
]
},
"HealthCheckType": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen32"
},
{
"description": "A comma-separated value string of one or more health check types."
}
]
},
"HealthCheckGracePeriod": {
"allOf": [
{
"$ref": "#/components/schemas/HealthCheckGracePeriod"
},
{
"description": "The duration of the health check grace period, in seconds."
}
]
},
"Instances": {
"allOf": [
{
"$ref": "#/components/schemas/Instances"
},
{
"description": "The EC2 instances associated with the group."
}
]
},
"CreatedTime": {
"allOf": [
{
"$ref": "#/components/schemas/TimestampType"
},
{
"description": "The date and time the group was created."
}
]
},
"SuspendedProcesses": {
"allOf": [
{
"$ref": "#/components/schemas/SuspendedProcesses"
},
{
"description": "The suspended processes associated with the group."
}
]
},
"PlacementGroup": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The name of the placement group into which to launch your instances, if any."
}
]
},
"VPCZoneIdentifier": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen2047"
},
{
"description": "One or more subnet IDs, if applicable, separated by commas."
}
]
},
"EnabledMetrics": {
"allOf": [
{
"$ref": "#/components/schemas/EnabledMetrics"
},
{
"description": "The metrics enabled for the group."
}
]
},
"Status": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The current state of the group when the <a>DeleteAutoScalingGroup</a> operation is in progress."
}
]
},
"Tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagDescriptionList"
},
{
"description": "The tags for the group."
}
]
},
"TerminationPolicies": {
"allOf": [
{
"$ref": "#/components/schemas/TerminationPolicies"
},
{
"description": "The termination policies for the group."
}
]
},
"NewInstancesProtectedFromScaleIn": {
"allOf": [
{
"$ref": "#/components/schemas/InstanceProtected"
},
{
"description": "Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in."
}
]
},
"ServiceLinkedRoleARN": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon Web Services on your behalf."
}
]
},
"MaxInstanceLifetime": {
"allOf": [
{
"$ref": "#/components/schemas/MaxInstanceLifetime"
},
{
"description": "<p>The maximum amount of time, in seconds, that an instance can be in service.</p> <p>Valid Range: Minimum value of 0.</p>"
}
]
},
"CapacityRebalance": {
"allOf": [
{
"$ref": "#/components/schemas/CapacityRebalanceEnabled"
},
{
"description": "Indicates whether Capacity Rebalancing is enabled."
}
]
},
"WarmPoolConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/WarmPoolConfiguration"
},
{
"description": "The warm pool for the group."
}
]
},
"WarmPoolSize": {
"allOf": [
{
"$ref": "#/components/schemas/WarmPoolSize"
},
{
"description": "The current size of the warm pool."
}
]
},
"Context": {
"allOf": [
{
"$ref": "#/components/schemas/Context"
},
{
"description": "Reserved."
}
]
},
"DesiredCapacityType": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports <code>DesiredCapacityType</code> for attribute-based instance type selection only."
}
]
},
"DefaultInstanceWarmup": {
"allOf": [
{
"$ref": "#/components/schemas/DefaultInstanceWarmup"
},
{
"description": "The duration of the default instance warmup, in seconds."
}
]
},
"TrafficSources": {
"allOf": [
{
"$ref": "#/components/schemas/TrafficSources"
},
{
"description": "The traffic sources associated with this Auto Scaling group."
}
]
}
},
"required": [
"AutoScalingGroupName",
"MinSize",
"MaxSize",
"DesiredCapacity",
"DefaultCooldown",
"AvailabilityZones",
"HealthCheckType",
"CreatedTime"
]
}