[ aws . imagebuilder ]

create-container-recipe

Description

Creates a new container recipe. Container recipes define how images are configured, tested, and assessed.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-container-recipe
--container-type <value>
--name <value>
[--description <value>]
--semantic-version <value>
--components <value>
[--instance-configuration <value>]
[--dockerfile-template-data <value>]
[--dockerfile-template-uri <value>]
[--platform-override <value>]
[--image-os-version-override <value>]
--parent-image <value>
[--tags <value>]
[--working-directory <value>]
--target-repository <value>
[--kms-key-id <value>]
[--client-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--container-type (string)

The type of container to create.

Possible values:

  • DOCKER

--name (string)

The name of the container recipe.

--description (string)

The description of the container recipe.

--semantic-version (string)

The semantic version of the container recipe. This version follows the semantic version syntax.

Note

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.

--components (list)

Components for build and test that are included in the container recipe.

(structure)

Configuration details of the component.

componentArn -> (string)

The Amazon Resource Name (ARN) of the component.

parameters -> (list)

A group of parameter settings that are used to configure the component for a specific recipe.

(structure)

Contains a key/value pair that sets the named component parameter.

name -> (string)

The name of the component parameter to set.

value -> (list)

Sets the value for the named component parameter.

(string)

JSON Syntax:

[
  {
    "componentArn": "string",
    "parameters": [
      {
        "name": "string",
        "value": ["string", ...]
      }
      ...
    ]
  }
  ...
]

--instance-configuration (structure)

A group of options that can be used to configure an instance for building and testing container images.

image -> (string)

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 -> (list)

Defines the block devices to attach for building an instance from this Image Builder AMI.

(structure)

Defines block device mappings for the instance used to configure your image.

deviceName -> (string)

The device to which these mappings apply.

ebs -> (structure)

Use to manage Amazon EBS-specific configuration for this mapping.

encrypted -> (boolean)

Use to configure device encryption.

deleteOnTermination -> (boolean)

Use to configure delete on termination of the associated device.

iops -> (integer)

Use to configure device IOPS.

kmsKeyId -> (string)

Use to configure the KMS key to use when encrypting the device.

snapshotId -> (string)

The snapshot that defines the device contents.

volumeSize -> (integer)

Use to override the device’s volume size.

volumeType -> (string)

Use to override the device’s volume type.

throughput -> (integer)

For GP3 volumes only – The throughput in MiB/s that the volume supports.

virtualName -> (string)

Use to manage instance ephemeral devices.

noDevice -> (string)

Use to remove a mapping from the base image.

JSON Syntax:

{
  "image": "string",
  "blockDeviceMappings": [
    {
      "deviceName": "string",
      "ebs": {
        "encrypted": true|false,
        "deleteOnTermination": true|false,
        "iops": integer,
        "kmsKeyId": "string",
        "snapshotId": "string",
        "volumeSize": integer,
        "volumeType": "standard"|"io1"|"io2"|"gp2"|"gp3"|"sc1"|"st1",
        "throughput": integer
      },
      "virtualName": "string",
      "noDevice": "string"
    }
    ...
  ]
}

--dockerfile-template-data (string)

The Dockerfile template used to build your image as an inline data blob.

--dockerfile-template-uri (string)

The Amazon S3 URI for the Dockerfile that will be used to build your container image.

--platform-override (string)

Specifies the operating system platform when you use a custom base image.

Possible values:

  • Windows

  • Linux

--image-os-version-override (string)

Specifies the operating system version for the base image.

--parent-image (string)

The base image for the container recipe.

--tags (map)

Tags that are attached to the container recipe.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

{"string": "string"
  ...}

--working-directory (string)

The working directory for use during build and test workflows.

--target-repository (structure)

The destination repository for the container image.

service -> (string)

Specifies the service in which this image was registered.

repositoryName -> (string)

The name of the container repository where the output container image is stored. This name is prefixed by the repository location.

Shorthand Syntax:

service=string,repositoryName=string

JSON Syntax:

{
  "service": "ECR",
  "repositoryName": "string"
}

--kms-key-id (string)

Identifies which KMS key is used to encrypt the container image.

--client-token (string)

The client token used to make this request idempotent.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Output

requestId -> (string)

The request ID that uniquely identifies this request.

clientToken -> (string)

The client token used to make this request idempotent.

containerRecipeArn -> (string)

Returns the Amazon Resource Name (ARN) of the container recipe that the request created.