Ec2 Image Builder Image Structure
An Image Builder image. You must specify exactly one recipe for the image – either a container recipe (containerRecipe), which creates a container image, or an image recipe (imageRecipe), which creates an AMI.
Image is a JSON Structure definition published by Amazon EC2 Image Builder, describing 22 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
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-image-builder/refs/heads/main/json-structure/ec2-image-builder-image-structure.json",
"name": "Image",
"description": "An Image Builder image. You must specify exactly one recipe for the image \u2013 either a container recipe (<code>containerRecipe</code>), which creates a container image, or an image recipe (<code>imageRecipe</code>), which creates an AMI.",
"type": "object",
"properties": {
"arn": {
"allOf": [
{
"$ref": "#/components/schemas/ImageBuilderArn"
},
{
"description": "<p>The Amazon Resource Name (ARN) of the image.</p> <note> <p>Semantic versioning is included in each object's Amazon Resource Name (ARN), at the level that applies to that object as follows:</p> <ol> <li> <p>Versionless ARNs and Name ARNs do not include specific values in any of the nodes. The nodes are either left off entirely, or they are specified as wildcards, for example: x.x.x.</p> </li> <li> <p>Version ARNs have only the first three nodes: <major>.<minor>.<patch></p> </li> <li> <p>Build version ARNs have all four nodes, and point to a specific build for a specific version of an object.</p> </li> </ol> </note>"
}
]
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
},
{
"description": "Specifies whether this image produces an AMI or a container image."
}
]
},
"name": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The name of the image."
}
]
},
"version": {
"allOf": [
{
"$ref": "#/components/schemas/VersionNumber"
},
{
"description": "<p>The semantic version of the image.</p> <note> <p>The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.</p> <p> <b>Assignment:</b> For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.</p> <p> <b>Patterns:</b> You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.</p> <p> <b>Filtering:</b> With semantic versioning, you have the flexibility to use wildcards (x) to specify the most recent versions or nodes when selecting the base image or components for your recipe. When you use a wildcard in any node, all nodes to the right of the first wildcard must also be wildcards.</p> </note>"
}
]
},
"platform": {
"allOf": [
{
"$ref": "#/components/schemas/Platform"
},
{
"description": "The image operating system platform, such as Linux or Windows."
}
]
},
"enhancedImageMetadataEnabled": {
"allOf": [
{
"$ref": "#/components/schemas/NullableBoolean"
},
{
"description": "Indicates whether Image Builder collects additional information about the image, such as the operating system (OS) version and package list."
}
]
},
"osVersion": {
"allOf": [
{
"$ref": "#/components/schemas/OsVersion"
},
{
"description": "The operating system version for instances that launch from this image. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019."
}
]
},
"state": {
"allOf": [
{
"$ref": "#/components/schemas/ImageState"
},
{
"description": "The state of the image."
}
]
},
"imageRecipe": {
"allOf": [
{
"$ref": "#/components/schemas/ImageRecipe"
},
{
"description": "For images that distribute an AMI, this is the image recipe that Image Builder used to create the image. For container images, this is empty."
}
]
},
"containerRecipe": {
"allOf": [
{
"$ref": "#/components/schemas/ContainerRecipe"
},
{
"description": "For container images, this is the container recipe that Image Builder used to create the image. For images that distribute an AMI, this is empty."
}
]
},
"sourcePipelineName": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The name of the image pipeline that created this image."
}
]
},
"sourcePipelineArn": {
"allOf": [
{
"$ref": "#/components/schemas/Arn"
},
{
"description": "The Amazon Resource Name (ARN) of the image pipeline that created this image."
}
]
},
"infrastructureConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/InfrastructureConfiguration"
},
{
"description": "The infrastructure that Image Builder used to create this image."
}
]
},
"distributionConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/DistributionConfiguration"
},
{
"description": "The distribution configuration that Image Builder used to create this image."
}
]
},
"imageTestsConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/ImageTestsConfiguration"
},
{
"description": "The image tests that ran when that Image Builder created this image."
}
]
},
"dateCreated": {
"allOf": [
{
"$ref": "#/components/schemas/DateTime"
},
{
"description": "The date on which Image Builder created this image."
}
]
},
"outputResources": {
"allOf": [
{
"$ref": "#/components/schemas/OutputResources"
},
{
"description": "The output resources that Image Builder produces for this image."
}
]
},
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagMap"
},
{
"description": "The tags that apply to this image."
}
]
},
"buildType": {
"allOf": [
{
"$ref": "#/components/schemas/BuildType"
},
{
"description": "<p>Indicates the type of build that created this image. The build can be initiated in the following ways:</p> <ul> <li> <p> <b>USER_INITIATED</b> \u2013 A manual pipeline build request.</p> </li> <li> <p> <b>SCHEDULED</b> \u2013 A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.</p> </li> <li> <p> <b>IMPORT</b> \u2013 A VM import created the image to use as the base image for the recipe.</p> </li> </ul>"
}
]
},
"imageSource": {
"allOf": [
{
"$ref": "#/components/schemas/ImageSource"
},
{
"description": "The origin of the base image that Image Builder used to build this image."
}
]
},
"scanState": {
"allOf": [
{
"$ref": "#/components/schemas/ImageScanState"
},
{
"description": "Contains information about the current state of scans for this image."
}
]
},
"imageScanningConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/ImageScanningConfiguration"
},
{
"description": "Contains settings for vulnerability scans."
}
]
}
}
}
Work with this as data
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-structures/ec2-image-builder-image-structure"
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.