Amazon EC2 Image Builder CreateContainerRecipe API

The CreateContainerRecipe API from Amazon EC2 Image Builder — 1 operation(s) for createcontainerrecipe.

GitHub OpenAPI

Operations 1

PUT /CreateContainerRecipe Create Container Recipe #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-ec2-image-builder:amazon-ec2-image-builder-createcontainerrecipe-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.

OpenAPI Specification

amazon-ec2-image-builder-createcontainerrecipe-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: EC2 Image Builder Createcontainerrecipe API
  version: '2019-12-02'
  description: Generated from AWS's published Smithy model for EC2 Image Builder. 1 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://imagebuilder.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /CreateContainerRecipe:
    put:
      operationId: CreateContainerRecipe
      summary: Create Container Recipe
      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'
              example:
                requestId: 4b6fc7f3-5b6b-4086-858e-22d4c7f9a37f
                clientToken: a1b2c3d4-5678-90ab-cdef-EXAMPLE40404
                containerRecipeArn: arn:aws:imagebuilder:us-west-2:111122223333:container-recipe/my-example-container-recipe/1.1.0
                latestVersionReferences:
                  latestVersionArn: arn:aws:imagebuilder:us-west-2:111122223333:container-recipe/my-example-container-recipe/x.x.x
                  latestMajorVersionArn: arn:aws:imagebuilder:us-west-2:111122223333:container-recipe/my-example-container-recipe/1.x.x
                  latestMinorVersionArn: arn:aws:imagebuilder:us-west-2:111122223333:container-recipe/my-example-container-recipe/1.1.x
                  latestPatchVersionArn: arn:aws:imagebuilder:us-west-2:111122223333:container-recipe/my-example-container-recipe/1.1.0
        '429':
          description: CallRateLimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallRateLimitExceededException'
        '400':
          description: ClientException; IdempotentParameterMismatchException; InvalidRequestException; InvalidVersionNumberException;
            ResourceAlreadyExistsException; ResourceInUseException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientException'
        '412':
          description: DryRunOperationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DryRunOperationException'
        '403':
          description: ForbiddenException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
        '500':
          description: ServiceException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateContainerRecipeRequest'
            example:
              containerType: DOCKER
              name: my-example-container-recipe
              semanticVersion: 1.1.0
              description: A container recipe that builds on an ECS-optimized instance image with a larger build volume
              parentImage: amazonlinux:latest
              components:
              - componentArn: arn:aws:imagebuilder:us-west-2:111122223333:component/my-example-container-component/1.0.0/1
              instanceConfiguration:
                image: ami-1234567890abcdef0
                blockDeviceMappings:
                - deviceName: /dev/xvda
                  ebs:
                    volumeSize: 40
                    volumeType: gp3
                    deleteOnTermination: true
              dockerfileTemplateData: 'FROM {{{ imagebuilder:parentImage }}}

                {{{ imagebuilder:environments }}}

                {{{ imagebuilder:components }}}

                '
              targetRepository:
                service: ECR
                repositoryName: my-example-container-repo
              clientToken: a1b2c3d4-5678-90ab-cdef-EXAMPLE40404
      tags:
      - Createcontainerrecipe
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: imagebuilder
  schemas:
    CallRateLimitExceededException:
      type: object
      properties:
        message:
          type: string
    ClientException:
      type: object
      properties:
        message:
          type: string
    ComponentConfiguration:
      type: object
      properties:
        componentArn:
          type: string
          description: The Amazon Resource Name (ARN) of the component. You can specify a build version ARN, or a component
            version ARN whose version segments can use x wildcards, for example 1.x.x.
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ComponentParameter'
          description: A group of parameter settings that Image Builder uses to configure the component for a specific recipe.
            You must supply a value for every component parameter that has no default value, and you can only supply parameters
            that the component defines.
      required:
      - componentArn
    ComponentParameter:
      type: object
      properties:
        name:
          type: string
          description: The name of the component parameter to set.
        value:
          type: array
          items:
            type: string
          description: Sets the value for the named component parameter.
      required:
      - name
      - value
    CreateContainerRecipeRequest:
      type: object
      properties:
        containerType:
          type: string
          enum:
          - DOCKER
          description: The type of container to create.
        name:
          type: string
          description: The name of the container recipe. The recipe name, combined with the semantic version, must be unique
            to your account in each Amazon Web Services Region. Image Builder generates the container recipe ARN from a normalized
            form of the name, so names that differ only in case, spaces, or underscores count as the same name.
        description:
          type: string
          description: The description of the container recipe.
        semanticVersion:
          type: string
          description: 'The semantic version of the container recipe. This version follows the semantic version syntax. The
            semantic version has four nodes: ../. 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. The upper limit
            is 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 softwar'
        components:
          type: array
          items:
            $ref: '#/components/schemas/ComponentConfiguration'
          description: The components included in the container recipe. You can specify each component only one time in a
            recipe.
        instanceConfiguration:
          $ref: '#/components/schemas/InstanceConfiguration'
        dockerfileTemplateData:
          type: string
          description: The Dockerfile template used to build your image, as an inline data blob. You must specify exactly
            one of the dockerfileTemplateData or dockerfileTemplateUri properties. For the contextual variables that the template
            can include, see Create a new version of a container recipe in the EC2 Image Builder User Guide.
        dockerfileTemplateUri:
          type: string
          description: The Amazon S3 URI for the Dockerfile template that is used to build your container image. You must
            have permission to read the object. Image Builder reads the object once, when it creates the recipe, and stores
            its content in the recipe. Later changes to the S3 object don't affect the recipe. You must specify exactly one
            of the dockerfileTemplateData or dockerfileTemplateUri properties.
        platformOverride:
          type: string
          enum:
          - Windows
          - Linux
          - macOS
          description: Specifies the operating system platform when you use a custom base image. Container recipes support
            only the Linux and Windows platforms.
        imageOsVersionOverride:
          type: string
          description: Specifies the operating system version for the base image. Use this property only when the base image
            is a container image from a registry. When the base image is an Image Builder image, the operating system version
            comes from the parent image.
        parentImage:
          type: string
          description: The base image for the container recipe. This can be an Image Builder image resource ARN or a container
            image URI from a registry, for example amazonlinux:latest.
        tags:
          type: object
          additionalProperties:
            type: string
          description: Tags that are attached to the container recipe.
        workingDirectory:
          type: string
          description: The working directory for use during build and test workflows.
        targetRepository:
          $ref: '#/components/schemas/TargetContainerRepository'
        kmsKeyId:
          type: string
          description: The Amazon Resource Name (ARN) that uniquely identifies which KMS key is used to encrypt the Dockerfile
            template. This can be either the Key ARN or the Alias ARN. For more information, see Key identifiers (KeyId) in
            the Key Management Service Developer Guide.
        clientToken:
          type: string
          description: A unique, case-sensitive identifier you provide to ensure that the operation runs no more than one
            time. If you retry a request with the same client token, Image Builder returns the original response without running
            the operation again. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.
        dryRun:
          type: boolean
          description: Validates the required permissions and request parameters without performing the operation. If validation
            succeeds, the operation returns a DryRunOperationException error response.
      required:
      - containerType
      - name
      - semanticVersion
      - parentImage
      - targetRepository
      - clientToken
    CreateContainerRecipeResponse:
      type: object
      properties:
        requestId:
          type: string
          description: The request ID that uniquely identifies this request.
        clientToken:
          type: string
          description: The client token that uniquely identifies the request.
        containerRecipeArn:
          type: string
          description: Returns the Amazon Resource Name (ARN) of the container recipe that the request created.
        latestVersionReferences:
          $ref: '#/components/schemas/LatestVersionReferences'
    DryRunOperationException:
      type: object
      properties:
        message:
          type: string
    EbsInstanceBlockDeviceSpecification:
      type: object
      properties:
        encrypted:
          type: boolean
          description: Specifies whether to encrypt the device.
        deleteOnTermination:
          type: boolean
          description: Specifies whether to delete the associated device on termination.
        iops:
          type: integer
          description: The IOPS value for the device. Required only when volumeType is io1 or io2.
        kmsKeyId:
          type: string
          description: The Amazon Resource Name (ARN) that uniquely identifies the KMS key to use when encrypting the device.
            This can be either the Key ARN or the Alias ARN. For more information, see Key identifiers (KeyId) in the Key
            Management Service Developer Guide.
        snapshotId:
          type: string
          description: The snapshot that defines the device contents.
        volumeSize:
          type: integer
          description: Overrides the volume size for the device.
        volumeType:
          type: string
          enum:
          - standard
          - io1
          - io2
          - gp2
          - gp3
          - sc1
          - st1
          description: Overrides the volume type for the device.
        throughput:
          type: integer
          description: For GP3 volumes only – The throughput in MiB/s that the volume supports.
    ForbiddenException:
      type: object
      properties:
        message:
          type: string
    InstanceBlockDeviceMapping:
      type: object
      properties:
        deviceName:
          type: string
          description: The device to which these mappings apply.
        ebs:
          $ref: '#/components/schemas/EbsInstanceBlockDeviceSpecification'
        virtualName:
          type: string
          description: The virtual device name for instance ephemeral devices.
        noDevice:
          type: string
          description: Specifies a mapping to remove from the base image.
    InstanceConfiguration:
      type: object
      properties:
        image:
          type: string
          description: The base image for a container build and test instance. This can contain an AMI ID or it can specify
            an Amazon Web Services Systems Manager (SSM) Parameter Store Parameter, prefixed by ssm:, followed by the parameter
            name or ARN. If not specified, Image Builder uses the appropriate ECS-optimized AMI as a base image.
        blockDeviceMappings:
          type: array
          items:
            $ref: '#/components/schemas/InstanceBlockDeviceMapping'
          description: Defines the block device mappings for the EC2 instance that Image Builder launches to build and test
            your container image.
    LatestVersionReferences:
      type: object
      properties:
        latestVersionArn:
          type: string
          description: The latest version Amazon Resource Name (ARN) of the Image Builder resource.
        latestMajorVersionArn:
          type: string
          description: The latest version Amazon Resource Name (ARN) with the same major version of the Image Builder resource.
        latestMinorVersionArn:
          type: string
          description: The latest version Amazon Resource Name (ARN) with the same minor version of the Image Builder resource.
        latestPatchVersionArn:
          type: string
          description: The latest version Amazon Resource Name (ARN) with the same patch version of the Image Builder resource.
    ServiceException:
      type: object
      properties:
        message:
          type: string
    ServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
    ServiceUnavailableException:
      type: object
      properties:
        message:
          type: string
    TargetContainerRepository:
      type: object
      properties:
        service:
          type: string
          enum:
          - ECR
          description: Specifies the service in which this image was registered.
        repositoryName:
          type: string
          description: The name of the container repository where the output container image is stored. Provide the repository
            name only (a namespace path such as team-a/my-repo is allowed, but not the registry hostname).
      required:
      - service
      - repositoryName
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/imagebuilder/service/2019-12-02/imagebuilder-2019-12-02.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)