Amazon EC2 Image Builder · Arazzo Workflow

Amazon EC2 Image Builder Assemble Container Pipeline

Version 1.0.0

Build a component and container recipe, create infrastructure, and wire them into a container image pipeline.

1 workflow 4 source APIs 1 provider
View Spec View on GitHub Amazon Web ServicesAutomationContainer ImagesEC2Image BuildingVirtual Machine ImagesArazzoWorkflows

Provider

amazon-ec2-image-builder

Workflows

assemble-container-pipeline
Create component, container recipe, infrastructure configuration, and container image pipeline.
Chains the create operations needed to produce a container image pipeline. The component ARN feeds the container recipe, and the container recipe and infrastructure configuration ARNs feed the pipeline.
4 steps inputs: clientToken, componentData, componentName, containerRecipeName, infrastructureName, instanceProfileName, parentImage, pipelineName, platform, repositoryName, semanticVersion outputs: componentBuildVersionArn, containerRecipeArn, imagePipelineArn, infrastructureConfigurationArn
1
createComponent
Create a reusable build component from inline YAML document content for the container recipe to reference.
2
createContainerRecipe
Create a Docker container recipe that references the new component and targets the supplied ECR repository.
3
createInfrastructureConfiguration
Create the infrastructure configuration that defines the build and test environment for the container image.
4
createImagePipeline
Create the image pipeline that binds the container recipe and infrastructure configuration together.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon EC2 Image Builder Assemble Container Pipeline
  summary: Build a component and container recipe, create infrastructure, and wire them into a container image pipeline.
  description: >-
    Stands up a container image pipeline end to end. The workflow creates a
    build component from inline YAML, creates a Docker container recipe that
    references that component on top of a parent image and targets an ECR
    repository, creates an infrastructure configuration for the build
    environment, and finally creates an image pipeline bound to the container
    recipe and infrastructure configuration. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-600.50
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-600.50
      capability_name: IT Infrastructure Management
      spec: amazon-ec2-image-builder-createinfrastructureconfiguration-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: createcomponentApi
  url: ../openapi/amazon-ec2-image-builder-createcomponent-api-openapi.yml
  type: openapi
- name: createcontainerrecipeApi
  url: ../openapi/amazon-ec2-image-builder-createcontainerrecipe-api-openapi.yml
  type: openapi
- name: createimagepipelineApi
  url: ../openapi/amazon-ec2-image-builder-createimagepipeline-api-openapi.yml
  type: openapi
- name: createinfrastructureconfigurationApi
  url: ../openapi/amazon-ec2-image-builder-createinfrastructureconfiguration-api-openapi.yml
  type: openapi
workflows:
- workflowId: assemble-container-pipeline
  summary: Create component, container recipe, infrastructure configuration, and container image pipeline.
  description: >-
    Chains the create operations needed to produce a container image pipeline.
    The component ARN feeds the container recipe, and the container recipe and
    infrastructure configuration ARNs feed the pipeline.
  inputs:
    type: object
    required:
    - componentName
    - componentData
    - containerRecipeName
    - parentImage
    - repositoryName
    - infrastructureName
    - instanceProfileName
    - pipelineName
    properties:
      componentName:
        type: string
        description: The name of the build component to create.
      componentData:
        type: string
        description: Inline YAML document content that defines the component.
      platform:
        type: string
        description: The operating system platform of the component (Windows or Linux).
        default: Linux
      semanticVersion:
        type: string
        description: The semantic version to assign to the component and container recipe.
        default: 1.0.0
      containerRecipeName:
        type: string
        description: The name of the container recipe to create.
      parentImage:
        type: string
        description: The base image for the container recipe.
      repositoryName:
        type: string
        description: The ECR repository name where the output container image is stored.
      infrastructureName:
        type: string
        description: The name of the infrastructure configuration to create.
      instanceProfileName:
        type: string
        description: The instance profile to associate with the build instance.
      pipelineName:
        type: string
        description: The name of the container image pipeline to create.
      clientToken:
        type: string
        description: An idempotency token reused across the create requests.
        default: arazzo-assemble-container-0001
  steps:
  - stepId: createComponent
    description: >-
      Create a reusable build component from inline YAML document content for
      the container recipe to reference.
    operationId: CreateComponent
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.componentName
        semanticVersion: $inputs.semanticVersion
        platform: $inputs.platform
        data: $inputs.componentData
        clientToken: $inputs.clientToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      componentBuildVersionArn: $response.body#/componentBuildVersionArn
  - stepId: createContainerRecipe
    description: >-
      Create a Docker container recipe that references the new component and
      targets the supplied ECR repository.
    operationId: CreateContainerRecipe
    requestBody:
      contentType: application/json
      payload:
        containerType: DOCKER
        name: $inputs.containerRecipeName
        semanticVersion: $inputs.semanticVersion
        components:
        - componentArn: $steps.createComponent.outputs.componentBuildVersionArn
        parentImage: $inputs.parentImage
        targetRepository:
          service: ECR
          repositoryName: $inputs.repositoryName
        clientToken: $inputs.clientToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      containerRecipeArn: $response.body#/containerRecipeArn
  - stepId: createInfrastructureConfiguration
    description: >-
      Create the infrastructure configuration that defines the build and test
      environment for the container image.
    operationId: CreateInfrastructureConfiguration
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.infrastructureName
        instanceProfileName: $inputs.instanceProfileName
        clientToken: $inputs.clientToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      infrastructureConfigurationArn: $response.body#/infrastructureConfigurationArn
  - stepId: createImagePipeline
    description: >-
      Create the image pipeline that binds the container recipe and
      infrastructure configuration together.
    operationId: CreateImagePipeline
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.pipelineName
        containerRecipeArn: $steps.createContainerRecipe.outputs.containerRecipeArn
        infrastructureConfigurationArn: $steps.createInfrastructureConfiguration.outputs.infrastructureConfigurationArn
        clientToken: $inputs.clientToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      imagePipelineArn: $response.body#/imagePipelineArn
  outputs:
    componentBuildVersionArn: $steps.createComponent.outputs.componentBuildVersionArn
    containerRecipeArn: $steps.createContainerRecipe.outputs.containerRecipeArn
    infrastructureConfigurationArn: $steps.createInfrastructureConfiguration.outputs.infrastructureConfigurationArn
    imagePipelineArn: $steps.createImagePipeline.outputs.imagePipelineArn

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/amazon-ec2-image-builder-assemble-container-pipeline-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.