openapi: 3.0.0
info:
version: 2019-12-02
x-release: v4
title: EC2 Image Builder CancelImageCreation CreateContainerRecipe API
description: EC2 Image Builder is a fully managed Amazon Web Services service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date "golden" server images that are pre-installed and pre-configured with software and settings to meet specific IT standards.
x-logo:
url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
backgroundColor: '#FFFFFF'
termsOfService: https://aws.amazon.com/service-terms/
contact:
name: Mike Ralphson
email: mike.ralphson@gmail.com
url: https://github.com/mermade/aws2openapi
x-twitter: PermittedSoc
license:
name: Apache 2.0 License
url: http://www.apache.org/licenses/
x-providerName: amazonaws.com
x-serviceName: imagebuilder
x-aws-signingName: imagebuilder
x-origin:
- contentType: application/json
url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/imagebuilder-2019-12-02.normal.json
converter:
url: https://github.com/mermade/aws2openapi
version: 1.0.0
x-apisguru-driver: external
x-apiClientRegistration:
url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
x-apisguru-categories:
- cloud
x-preferred: true
servers:
- url: http://imagebuilder.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The imagebuilder multi-region endpoint
- url: https://imagebuilder.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The imagebuilder multi-region endpoint
- url: http://imagebuilder.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The imagebuilder endpoint for China (Beijing) and China (Ningxia)
- url: https://imagebuilder.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The imagebuilder endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: CreateContainerRecipe
paths:
/CreateContainerRecipe:
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
put:
operationId: CreateContainerRecipe
description: Creates a new container recipe. Container recipes define how images are configured, tested, and assessed.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContainerRecipeResponse'
examples:
CreateContainerRecipe200Example:
summary: Default CreateContainerRecipe 200 response
x-microcks-default: true
value:
requestId: example-id-1234
clientToken: example-string
containerRecipeArn: arn:aws:service:us-east-1:123456789012:resource/example
'480':
description: ServiceException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceException'
examples:
CreateContainerRecipe480Example:
summary: Default CreateContainerRecipe 480 response
x-microcks-default: true
value: {}
'481':
description: ClientException
content:
application/json:
schema:
$ref: '#/components/schemas/ClientException'
examples:
CreateContainerRecipe481Example:
summary: Default CreateContainerRecipe 481 response
x-microcks-default: true
value: {}
'482':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
'483':
description: InvalidRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestException'
'484':
description: IdempotentParameterMismatchException
content:
application/json:
schema:
$ref: '#/components/schemas/IdempotentParameterMismatchException'
'485':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'486':
description: CallRateLimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/CallRateLimitExceededException'
'487':
description: InvalidVersionNumberException
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidVersionNumberException'
'488':
description: ResourceInUseException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceInUseException'
'489':
description: ResourceAlreadyExistsException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceAlreadyExistsException'
'490':
description: ServiceQuotaExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceQuotaExceededException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- containerType
- name
- semanticVersion
- components
- parentImage
- targetRepository
- clientToken
properties:
containerType:
description: The type of container to create.
type: string
enum:
- DOCKER
name:
description: The name of the container recipe.
type: string
pattern: ^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$
description:
description: The description of the container recipe.
type: string
minLength: 1
maxLength: 1024
semanticVersion:
description: '
The semantic version of the container recipe. This version follows the semantic version syntax.
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.
Assignment: 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.
Patterns: 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.
'
type: string
pattern: ^[0-9]+\.[0-9]+\.[0-9]+$
components:
description: Components for build and test that are included in the container recipe. Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.
type: array
items:
$ref: '#/components/schemas/ComponentConfiguration'
minItems: 1
instanceConfiguration:
description: Defines a custom base AMI and block device mapping configurations of an instance used for building and testing container images.
type: object
properties:
image:
allOf:
- $ref: '#/components/schemas/NonEmptyString'
- description: The AMI ID to use as the base image for a container build and test instance. If not specified, Image Builder will use the appropriate ECS-optimized AMI as a base image.
blockDeviceMappings:
allOf:
- $ref: '#/components/schemas/InstanceBlockDeviceMappings'
- description: Defines the block devices to attach for building an instance from this Image Builder AMI.
dockerfileTemplateData:
description: The Dockerfile template used to build your image as an inline data blob.
type: string
pattern: '[^\x00]+'
minLength: 1
maxLength: 16000
dockerfileTemplateUri:
description: The Amazon S3 URI for the Dockerfile that will be used to build your container image.
type: string
platformOverride:
description: Specifies the operating system platform when you use a custom base image.
type: string
enum:
- Windows
- Linux
imageOsVersionOverride:
description: Specifies the operating system version for the base image.
type: string
minLength: 1
maxLength: 1024
parentImage:
description: The base image for the container recipe.
type: string
minLength: 1
maxLength: 1024
tags:
description: Tags that are attached to the container recipe.
type: object
minProperties: 1
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
workingDirectory:
description: The working directory for use during build and test workflows.
type: string
minLength: 1
maxLength: 1024
targetRepository:
description: The container repository where the output container image is stored.
type: object
properties:
service:
allOf:
- $ref: '#/components/schemas/ContainerRepositoryService'
- description: Specifies the service in which this image was registered.
repositoryName:
allOf:
- $ref: '#/components/schemas/NonEmptyString'
- description: The name of the container repository where the output container image is stored. This name is prefixed by the repository location.
kmsKeyId:
description: Identifies which KMS key is used to encrypt the container image.
type: string
minLength: 1
maxLength: 1024
clientToken:
description: The client token used to make this request idempotent.
type: string
minLength: 1
maxLength: 36
summary: Amazon EC2 Image Builder Create Container Recipe
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
tags:
- CreateContainerRecipe
components:
parameters:
X-Amz-Content-Sha256:
name: X-Amz-Content-Sha256
in: header
schema:
type: string
required: false
X-Amz-Date:
name: X-Amz-Date
in: header
schema:
type: string
required: false
X-Amz-Security-Token:
name: X-Amz-Security-Token
in: header
schema:
type: string
required: false
X-Amz-SignedHeaders:
name: X-Amz-SignedHeaders
in: header
schema:
type: string
required: false
X-Amz-Algorithm:
name: X-Amz-Algorithm
in: header
schema:
type: string
required: false
X-Amz-Signature:
name: X-Amz-Signature
in: header
schema:
type: string
required: false
X-Amz-Credential:
name: X-Amz-Credential
in: header
schema:
type: string
required: false
schemas:
EbsVolumeType:
type: string
enum:
- standard
- io1
- io2
- gp2
- gp3
- sc1
- st1
NonEmptyString:
type: string
minLength: 1
maxLength: 1024
InvalidVersionNumberException: {}
ComponentVersionArnOrBuildVersionArn:
type: string
pattern: ^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):component/[a-z0-9-_]+/(?:(?:([0-9]+|x)\.([0-9]+|x)\.([0-9]+|x))|(?:[0-9]+\.[0-9]+\.[0-9]+/[0-9]+))$
ServiceException: {}
ForbiddenException: {}
EbsVolumeSizeInteger:
type: integer
minimum: 1
maximum: 16000
ServiceUnavailableException: {}
ComponentParameterValue:
type: string
pattern: '[^\x00]*'
minLength: 0
ResourceAlreadyExistsException: {}
ComponentParameterName:
type: string
pattern: '[^\x00]+'
minLength: 1
maxLength: 256
EmptyString:
type: string
minLength: 0
maxLength: 0
IdempotentParameterMismatchException: {}
CallRateLimitExceededException: {}
TagValue:
type: string
maxLength: 256
ClientToken:
type: string
minLength: 1
maxLength: 36
ComponentConfiguration:
type: object
required:
- componentArn
properties:
componentArn:
allOf:
- $ref: '#/components/schemas/ComponentVersionArnOrBuildVersionArn'
- description: The Amazon Resource Name (ARN) of the component.
example: arn:aws:service:us-east-1:123456789012:resource/example
parameters:
allOf:
- $ref: '#/components/schemas/ComponentParameterList'
- description: A group of parameter settings that Image Builder uses to configure the component for a specific recipe.
example: example-string
description: Configuration details of the component.
InstanceBlockDeviceMapping:
type: object
properties:
deviceName:
allOf:
- $ref: '#/components/schemas/NonEmptyString'
- description: The device to which these mappings apply.
example: example-resource-name
ebs:
allOf:
- $ref: '#/components/schemas/EbsInstanceBlockDeviceSpecification'
- description: Use to manage Amazon EBS-specific configuration for this mapping.
example: example-string
virtualName:
allOf:
- $ref: '#/components/schemas/NonEmptyString'
- description: Use to manage instance ephemeral devices.
example: example-resource-name
noDevice:
allOf:
- $ref: '#/components/schemas/EmptyString'
- description: Use to remove a mapping from the base image.
example: example-string
description: Defines block device mappings for the instance used to configure your image.
EbsIopsInteger:
type: integer
minimum: 100
maximum: 64000
EbsInstanceBlockDeviceSpecification:
type: object
properties:
encrypted:
allOf:
- $ref: '#/components/schemas/NullableBoolean'
- description: Use to configure device encryption.
deleteOnTermination:
allOf:
- $ref: '#/components/schemas/NullableBoolean'
- description: Use to configure delete on termination of the associated device.
iops:
allOf:
- $ref: '#/components/schemas/EbsIopsInteger'
- description: Use to configure device IOPS.
kmsKeyId:
allOf:
- $ref: '#/components/schemas/NonEmptyString'
- description: Use to configure the KMS key to use when encrypting the device.
snapshotId:
allOf:
- $ref: '#/components/schemas/NonEmptyString'
- description: The snapshot that defines the device contents.
volumeSize:
allOf:
- $ref: '#/components/schemas/EbsVolumeSizeInteger'
- description: Use to override the device's volume size.
volumeType:
allOf:
- $ref: '#/components/schemas/EbsVolumeType'
- description: Use to override the device's volume type.
throughput:
allOf:
- $ref: '#/components/schemas/EbsVolumeThroughput'
- description: ' For GP3 volumes only – The throughput in MiB/s that the volume supports.'
description: Amazon EBS-specific block device mapping specifications.
ClientException: {}
InvalidRequestException: {}
ComponentParameter:
type: object
required:
- name
- value
properties:
name:
allOf:
- $ref: '#/components/schemas/ComponentParameterName'
- description: The name of the component parameter to set.
value:
allOf:
- $ref: '#/components/schemas/ComponentParameterValueList'
- description: Sets the value for the named component parameter.
description: Contains a key/value pair that sets the named component parameter.
ComponentParameterList:
type: array
items:
$ref: '#/components/schemas/ComponentParameter'
minItems: 1
ContainerRecipeArn:
type: string
pattern: ^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):container-recipe/[a-z0-9-_]+/[0-9]+\.[0-9]+\.[0-9]+$
CreateContainerRecipeResponse:
type: object
properties:
requestId:
allOf:
- $ref: '#/components/schemas/NonEmptyString'
- description: The request ID that uniquely identifies this request.
example: example-id-1234
clientToken:
allOf:
- $ref: '#/components/schemas/ClientToken'
- description: The client token used to make this request idempotent.
example: example-string
containerRecipeArn:
allOf:
- $ref: '#/components/schemas/ContainerRecipeArn'
- description: Returns the Amazon Resource Name (ARN) of the container recipe that the request created.
example: arn:aws:service:us-east-1:123456789012:resource/example
ServiceQuotaExceededException: {}
InstanceBlockDeviceMappings:
type: array
items:
$ref: '#/components/schemas/InstanceBlockDeviceMapping'
NullableBoolean:
type: boolean
ComponentParameterValueList:
type: array
items:
$ref: '#/components/schemas/ComponentParameterValue'
ResourceInUseException: {}
ContainerRepositoryService:
type: string
enum:
- ECR
EbsVolumeThroughput:
type: integer
minimum: 125
maximum: 1000
securitySchemes:
hmac:
type: apiKey
name: Authorization
in: header
description: Amazon Signature authorization v4
x-amazon-apigateway-authtype: awsSigv4
externalDocs:
description: Amazon Web Services documentation
url: https://docs.aws.amazon.com/imagebuilder/
x-hasEquivalentPaths: true