Amazon EC2 Image Builder CreateInfrastructureConfiguration API

The CreateInfrastructureConfiguration API from Amazon EC2 Image Builder — 1 operation(s) for createinfrastructureconfiguration.

GitHub OpenAPI
Business capability
IT Infrastructure Management BC-600.50

Operations 1

PUT /CreateInfrastructureConfiguration Create Infrastructure Configuration #

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-createinfrastructureconfiguration-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-createinfrastructureconfiguration-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: EC2 Image Builder Createinfrastructureconfiguration 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:
  /CreateInfrastructureConfiguration:
    put:
      operationId: CreateInfrastructureConfiguration
      summary: Create Infrastructure Configuration
      description: Creates a new infrastructure configuration. An infrastructure configuration defines the environment in
        which your image will be built and tested.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateInfrastructureConfigurationResponse'
              example:
                requestId: 67082698-415b-4d9f-8be0-84a58380b93f
                clientToken: a1b2c3d4-5678-90ab-cdef-EXAMPLE33333
                infrastructureConfigurationArn: arn:aws:imagebuilder:us-west-2:111122223333:infrastructure-configuration/my-example-infrastructure
        '429':
          description: CallRateLimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallRateLimitExceededException'
        '400':
          description: ClientException; IdempotentParameterMismatchException; InvalidRequestException; 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/CreateInfrastructureConfigurationRequest'
            example:
              name: my-example-infrastructure
              description: An infrastructure configuration for Amazon Linux builds
              instanceProfileName: EC2InstanceProfileForImageBuilder
              instanceTypes:
              - t3.medium
              - t3.large
              terminateInstanceOnFailure: true
              clientToken: a1b2c3d4-5678-90ab-cdef-EXAMPLE33333
      tags:
      - Createinfrastructureconfiguration
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:
    AutoScalingGroupConfiguration:
      type: object
      properties:
        name:
          type: string
          description: The name of the Auto Scaling group, in the same account and Amazon Web Services Region as the infrastructure
            configuration. To specify a group, you must have permissions to describe it.
        capacityWaitTimeoutSeconds:
          type: integer
          description: The number of seconds that Image Builder waits for an instance to become available in the group before
            the build fails. If you set this value to 0 or omit it, the build fails as soon as the group has no instance available.
      required:
      - name
    CallRateLimitExceededException:
      type: object
      properties:
        message:
          type: string
    ClientException:
      type: object
      properties:
        message:
          type: string
    CreateInfrastructureConfigurationRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the infrastructure configuration. Infrastructure configuration names must be unique to
            your account in each Amazon Web Services Region. Image Builder generates the infrastructure configuration 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 infrastructure configuration.
        instanceTypes:
          type: array
          items:
            type: string
          description: The instance types of the infrastructure configuration. You can specify one or more instance types
            to use for this build. Image Builder picks one of these instance types based on availability. If you don't specify
            instance types, Image Builder selects compatible instance types automatically. If you specify a Dedicated Host,
            Image Builder uses only instance types that the host supports.
        instanceProfileName:
          type: string
          description: The instance profile to associate with the instance used to customize your Amazon EC2 AMI. The instance
            profile must exist in your account.
        securityGroupIds:
          type: array
          items:
            type: string
          description: The security group IDs to associate with the instance used to customize your Amazon EC2 AMI.
        subnetId:
          type: string
          description: The subnet ID in which to place the instance used to customize your Amazon EC2 AMI. If you specify
            subnetId, you must also specify one or more security group IDs in securityGroupIds. Otherwise, the request fails.
        logging:
          $ref: '#/components/schemas/Logging'
        keyPair:
          type: string
          description: The key pair of the infrastructure configuration. You can use this to log on to and debug the instance
            used to create your image.
        terminateInstanceOnFailure:
          type: boolean
          description: Specifies whether to terminate the instance on failure. Set to false if you want Image Builder to retain
            the instance used to configure your AMI if the build or test phase of your workflow fails. Defaults to true.
        terminateInstanceOnCompletion:
          type: boolean
          description: Specifies whether Image Builder terminates build and test instances when image creation ends without
            a failure (success, cancellation, or expiration). Defaults to true.
        snsTopicArn:
          type: string
          description: The Amazon Resource Name (ARN) of the SNS topic to which Image Builder sends image build event notifications.
            Specify a standard topic. Image Builder doesn't support FIFO topics. Image Builder validates the topic when you
            create or update the configuration. You must have permission to publish to the topic. EC2 Image Builder can't
            send notifications to SNS topics that are encrypted using keys from other accounts. If your SNS topic is encrypted,
            the key must be owned by the same account that owns your Image Builder resources.
        resourceTags:
          type: object
          additionalProperties:
            type: string
          description: 'The metadata tags to assign to the Amazon EC2 instance that Image Builder launches during the build
            process. Tags are formatted as key value pairs. Tag keys can''t begin with aws: or match one of the following
            reserved keys: CreatedBy, Ec2ImageBuilderArn, Name, or Tags.'
        instanceMetadataOptions:
          $ref: '#/components/schemas/InstanceMetadataOptions'
        tags:
          type: object
          additionalProperties:
            type: string
          description: The metadata tags to assign to the infrastructure configuration resource that Image Builder creates
            as output. Tags are formatted as key value pairs.
        placement:
          $ref: '#/components/schemas/Placement'
        parentInstance:
          $ref: '#/components/schemas/ParentInstanceConfiguration'
        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:
      - name
      - instanceProfileName
      - clientToken
    CreateInfrastructureConfigurationResponse:
      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.
        infrastructureConfigurationArn:
          type: string
          description: The Amazon Resource Name (ARN) of the infrastructure configuration that was created by this request.
    DryRunOperationException:
      type: object
      properties:
        message:
          type: string
    ForbiddenException:
      type: object
      properties:
        message:
          type: string
    InstanceMetadataOptions:
      type: object
      properties:
        httpTokens:
          type: string
          description: 'Indicates whether a signed token header is required for instance metadata retrieval requests. The
            values affect the response as follows: required – When you retrieve the IAM role credentials, version 2.0 credentials
            are returned in all cases. optional – You can include a signed token header in your request to retrieve instance
            metadata, or you can leave it out. If you include it, version 2.0 credentials are returned for the IAM role. Otherwise,
            version 1.0 credentials are returned. If you don''t set a value, the EC2 launch default applies to the build and
            test instances. That default depends on'
        httpPutResponseHopLimit:
          type: integer
          description: Limit the number of hops that an instance metadata request can traverse to reach its destination. If
            you don't set a value, the EC2 launch default for the instance applies. If HTTP tokens are required, container
            image builds need a minimum of two hops.
    Logging:
      type: object
      properties:
        s3Logs:
          $ref: '#/components/schemas/S3Logs'
    ParentInstanceConfiguration:
      type: object
      properties:
        autoScalingGroup:
          $ref: '#/components/schemas/AutoScalingGroupConfiguration'
      required:
      - autoScalingGroup
    Placement:
      type: object
      properties:
        availabilityZone:
          type: string
          description: The Availability Zone where your build and test instances will launch.
        tenancy:
          type: string
          enum:
          - default
          - dedicated
          - host
          description: The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.
            An instance with a tenancy of host runs on a Dedicated Host. If tenancy is set to host, then you can optionally
            specify one target for placement – either host ID or host resource group ARN. If automatic placement is enabled
            for your host, and you don't specify any placement target, Amazon EC2 will try to find an available host for your
            build and test instances.
        hostId:
          type: string
          description: The ID of the Dedicated Host on which build and test instances run. This only applies if tenancy is
            host.
        hostResourceGroupArn:
          type: string
          description: The Amazon Resource Name (ARN) of the host resource group in which to launch build and test instances.
            This only applies if tenancy is host.
    S3Logs:
      type: object
      properties:
        s3BucketName:
          type: string
          description: The name of an existing Amazon S3 bucket where Image Builder saves build logs. The bucket isn't validated
            when you create or update the configuration, and Image Builder doesn't create it. The instance profile associated
            with this infrastructure configuration must have permission to write to the bucket.
        s3KeyPrefix:
          type: string
          description: The Amazon S3 key prefix under which Image Builder writes build and test logs in the bucket.
    ServiceException:
      type: object
      properties:
        message:
          type: string
    ServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
    ServiceUnavailableException:
      type: object
      properties:
        message:
          type: string
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)