[ aws . imagebuilder ]

create-image-pipeline

Description

Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-image-pipeline
--name <value>
[--description <value>]
[--image-recipe-arn <value>]
[--container-recipe-arn <value>]
--infrastructure-configuration-arn <value>
[--distribution-configuration-arn <value>]
[--image-tests-configuration <value>]
[--enhanced-image-metadata-enabled | --no-enhanced-image-metadata-enabled]
[--schedule <value>]
[--status <value>]
[--tags <value>]
[--client-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--name (string)

The name of the image pipeline.

--description (string)

The description of the image pipeline.

--image-recipe-arn (string)

The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.

--container-recipe-arn (string)

The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container pipeline.

--infrastructure-configuration-arn (string)

The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.

--distribution-configuration-arn (string)

The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.

--image-tests-configuration (structure)

The image test configuration of the image pipeline.

imageTestsEnabled -> (boolean)

Defines if tests should be executed when building this image.

timeoutMinutes -> (integer)

The maximum time in minutes that tests are permitted to run.

Shorthand Syntax:

imageTestsEnabled=boolean,timeoutMinutes=integer

JSON Syntax:

{
  "imageTestsEnabled": true|false,
  "timeoutMinutes": integer
}

--enhanced-image-metadata-enabled | --no-enhanced-image-metadata-enabled (boolean)

Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

--schedule (structure)

The schedule of the image pipeline.

scheduleExpression -> (string)

The cron expression determines how often EC2 Image Builder evaluates your pipelineExecutionStartCondition .

For information on how to format a cron expression in Image Builder, see Use cron expressions in EC2 Image Builder .

timezone -> (string)

The timezone that applies to the scheduling expression. For example, “Etc/UTC”, “America/Los_Angeles” in the IANA timezone format . If not specified this defaults to UTC.

pipelineExecutionStartCondition -> (string)

The condition configures when the pipeline should trigger a new image build. When the pipelineExecutionStartCondition is set to EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE , and you use semantic version filters on the base image or components in your image recipe, EC2 Image Builder will build a new image only when there are new versions of the image or components in your recipe that match the semantic version filter. When it is set to EXPRESSION_MATCH_ONLY , it will build a new image every time the CRON expression matches the current time. For semantic version syntax, see CreateComponent in the EC2 Image Builder API Reference .

Shorthand Syntax:

scheduleExpression=string,timezone=string,pipelineExecutionStartCondition=string

JSON Syntax:

{
  "scheduleExpression": "string",
  "timezone": "string",
  "pipelineExecutionStartCondition": "EXPRESSION_MATCH_ONLY"|"EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
}

--status (string)

The status of the image pipeline.

Possible values:

  • DISABLED

  • ENABLED

--tags (map)

The tags of the image pipeline.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

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

--client-token (string)

The idempotency 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.

Examples

To create an image pipeline

The following create-image-pipeline example creates an image pipeline using a JSON file.

aws imagebuilder create-image-pipeline \
    --cli-input-json file://create-image-pipeline.json

Contents of create-image-pipeline.json:

{
    "name": "MyWindows2016Pipeline",
    "description": "Builds Windows 2016 Images",
    "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/mybasicrecipe/2019.12.03",
    "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/myexampleinfrastructure",
    "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/myexampledistribution",
    "imageTestsConfiguration": {
        "imageTestsEnabled": true,
        "timeoutMinutes": 60
    },
    "schedule": {
        "scheduleExpression": "cron(0 0 * * SUN)",
        "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
    },
    "status": "ENABLED"
}

Output:

{
    "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "imagePipelineArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/mywindows2016pipeline"
}

For more information, see Setting Up and Managing an EC2 Image Builder Image Pipeline Using the AWS CLI in the EC2 Image Builder Users Guide.

Output

requestId -> (string)

The request ID that uniquely identifies this request.

clientToken -> (string)

The idempotency token used to make this request idempotent.

imagePipelineArn -> (string)

The Amazon Resource Name (ARN) of the image pipeline that was created by this request.