Amazon EC2 Auto Scaling · JSON Structure
Ec2 Auto Scaling Launch Configuration Structure
Describes a launch configuration.
Type: object
Properties: 20
Required: 4
Amazon Web ServicesAuto ScalingComputeEC2High AvailabilityScaling
LaunchConfiguration is a JSON Structure definition published by Amazon EC2 Auto Scaling, describing 20 properties, of which 4 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
LaunchConfigurationName
LaunchConfigurationARN
ImageId
KeyName
SecurityGroups
ClassicLinkVPCId
ClassicLinkVPCSecurityGroups
UserData
InstanceType
KernelId
RamdiskId
BlockDeviceMappings
InstanceMonitoring
SpotPrice
IamInstanceProfile
CreatedTime
EbsOptimized
AssociatePublicIpAddress
PlacementTenancy
MetadataOptions
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-launch-configuration-structure.json",
"name": "LaunchConfiguration",
"description": "Describes a launch configuration.",
"type": "object",
"properties": {
"LaunchConfigurationName": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The name of the launch configuration."
}
]
},
"LaunchConfigurationARN": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The Amazon Resource Name (ARN) of the launch configuration."
}
]
},
"ImageId": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html\">Find a Linux AMI</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>."
}
]
},
"KeyName": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "<p>The name of the key pair.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html\">Amazon EC2 Key Pairs</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>"
}
]
},
"SecurityGroups": {
"allOf": [
{
"$ref": "#/components/schemas/SecurityGroups"
},
{
"description": "A list that contains the security groups to assign to the instances in the Auto Scaling group. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html\">Security Groups for Your VPC</a> in the <i>Amazon Virtual Private Cloud User Guide</i>."
}
]
},
"ClassicLinkVPCId": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "Available for backward compatibility."
}
]
},
"ClassicLinkVPCSecurityGroups": {
"allOf": [
{
"$ref": "#/components/schemas/ClassicLinkVPCSecurityGroups"
},
{
"description": "Available for backward compatibility."
}
]
},
"UserData": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringUserData"
},
{
"description": "The user data to make available to the launched EC2 instances. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html\">Instance metadata and user data</a> (Linux) and <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html\">Instance metadata and user data</a> (Windows). If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB."
}
]
},
"InstanceType": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The instance type for the instances. For information about available instance types, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes\">Available instance types</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>."
}
]
},
"KernelId": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The ID of the kernel associated with the AMI."
}
]
},
"RamdiskId": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen255"
},
{
"description": "The ID of the RAM disk associated with the AMI."
}
]
},
"BlockDeviceMappings": {
"allOf": [
{
"$ref": "#/components/schemas/BlockDeviceMappings"
},
{
"description": "The block device mapping entries that define the block devices to attach to the instances at launch. By default, the block devices specified in the block device mapping for the AMI are used. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html\">Block Device Mapping</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>."
}
]
},
"InstanceMonitoring": {
"allOf": [
{
"$ref": "#/components/schemas/InstanceMonitoring"
},
{
"description": "<p>Controls whether instances in this group are launched with detailed (<code>true</code>) or basic (<code>false</code>) monitoring.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/latest/userguide/enable-as-instance-metrics.html\">Configure Monitoring for Auto Scaling Instances</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>"
}
]
},
"SpotPrice": {
"allOf": [
{
"$ref": "#/components/schemas/SpotPrice"
},
{
"description": "The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html\">Requesting Spot Instances</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>."
}
]
},
"IamInstanceProfile": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen1600"
},
{
"description": "The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html\">IAM role for applications that run on Amazon EC2 instances</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>."
}
]
},
"CreatedTime": {
"allOf": [
{
"$ref": "#/components/schemas/TimestampType"
},
{
"description": "The creation date and time for the launch configuration."
}
]
},
"EbsOptimized": {
"allOf": [
{
"$ref": "#/components/schemas/EbsOptimized"
},
{
"description": "Specifies whether the launch configuration is optimized for EBS I/O (<code>true</code>) or not (<code>false</code>). For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html\">Amazon EBS-Optimized Instances</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>."
}
]
},
"AssociatePublicIpAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AssociatePublicIpAddress"
},
{
"description": "Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html\">Launching Auto Scaling instances in a VPC</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>."
}
]
},
"PlacementTenancy": {
"allOf": [
{
"$ref": "#/components/schemas/XmlStringMaxLen64"
},
{
"description": "<p>The tenancy of the instance, either <code>default</code> or <code>dedicated</code>. An instance with <code>dedicated</code> tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-dedicated-instances.html\">Configuring instance tenancy with Amazon EC2 Auto Scaling</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>"
}
]
},
"MetadataOptions": {
"allOf": [
{
"$ref": "#/components/schemas/InstanceMetadataOptions"
},
{
"description": "The metadata options for the instances. For more information, see <a href=\"https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds\">Configuring the Instance Metadata Options</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>."
}
]
}
},
"required": [
"LaunchConfigurationName",
"ImageId",
"InstanceType",
"CreatedTime"
]
}