Amazon EC2 Image Builder CreateContainerRecipe API

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

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

amazon-ec2-image-builder-createcontainerrecipe-api-openapi.yml Raw ↑
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: '<p>The semantic version of the container recipe. This version follows the semantic version syntax.</p> <note> <p>The semantic version has four nodes: &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. 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> </note>'
                  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: ' <b>For GP3 volumes only</b> – 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