> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nuon.co/llms.txt
> Use this file to discover all available pages before exploring further.

# create an external image component config

> Create an external image component config.




## OpenAPI

````yaml post /v1/components/{component_id}/configs/external-image
openapi: 3.0.3
info:
  contact:
    email: support@nuon.co
    name: Nuon Support
  description: API for managing nuon apps, components, installs, and actions.
  title: Nuon
  version: 0.19.1037
servers:
  - url: https://api.nuon.co/
security: []
tags:
  - description: policy-reports
    name: policy-reports
  - description: general
    name: general
  - description: actions
    name: actions
  - description: runbooks
    name: runbooks
  - description: apps
    name: apps
  - description: components
    name: components
  - description: onboarding
    name: onboarding
  - description: slack
    name: slack
  - description: installs
    name: installs
  - description: orgs
    name: orgs
  - description: notebooks
    name: notebooks
  - description: runners/runner
    name: runners/runner
  - description: queues
    name: queues
  - description: actions/runner
    name: actions/runner
  - description: auth
    name: auth
  - description: runners
    name: runners
  - description: vcs
    name: vcs
  - description: accounts
    name: accounts
paths:
  /v1/components/{component_id}/configs/external-image:
    post:
      tags:
        - components
      summary: create an external image component config
      description: |
        Create an external image component config.
      operationId: CreateExternalImageComponentConfig
      parameters:
        - description: component ID
          in: path
          name: component_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/service.CreateExternalImageComponentConfigRequest
        description: Input
        required: true
        x-originalParamName: req
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/app.ExternalImageComponentConfig'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stderr.ErrResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stderr.ErrResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stderr.ErrResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stderr.ErrResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stderr.ErrResponse'
          description: Conflict
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stderr.ErrResponse'
          description: Internal Server Error
      deprecated: true
      security:
        - APIKey: []
        - OrgID: []
components:
  schemas:
    service.CreateExternalImageComponentConfigRequest:
      properties:
        app_config_id:
          type: string
        auto_approve_on_policies_passing:
          type: boolean
        aws_ecr_image_config:
          $ref: '#/components/schemas/service.awsECRImageConfigRequest'
        azure_acr_image_config:
          $ref: '#/components/schemas/service.azureACRImageConfigRequest'
        build_timeout:
          description: Duration string for build operations (e.g., "30m", "1h")
          type: string
        checksum:
          type: string
        default_enabled:
          type: boolean
        dependencies:
          items:
            type: string
          type: array
        deploy_timeout:
          description: Duration string for deploy operations (e.g., "30m", "1h")
          type: string
        gcp_gar_image_config:
          $ref: '#/components/schemas/service.gcpGARImageConfigRequest'
        image_url:
          type: string
        max_auto_retries:
          type: integer
        operation_roles:
          additionalProperties:
            type: string
          type: object
        references:
          items:
            type: string
          type: array
        skip_noops:
          type: boolean
        tag:
          type: string
        toggleable:
          type: boolean
        update_policy:
          description: |-
            UpdatePolicy is an optional Masterminds-compatible semver constraint
            (e.g. "~1.25.0", "^2"). When set, the runner lists tags from the
            source registry, filters to those satisfying the constraint, and
            uses the highest matching tag. Tag becomes optional in this case.
          type: string
      required:
        - image_url
      type: object
    app.ExternalImageComponentConfig:
      properties:
        aws_ecr_image_config:
          $ref: '#/components/schemas/app.AWSECRImageConfig'
        azure_acr_image_config:
          $ref: '#/components/schemas/app.AzureACRImageConfig'
        component_config_connection_id:
          description: value
          type: string
        created_at:
          type: string
        created_by_id:
          type: string
        gcp_gar_image_config:
          $ref: '#/components/schemas/app.GCPGARImageConfig'
        id:
          type: string
        image_url:
          type: string
        tag:
          type: string
        update_policy:
          description: |-
            UpdatePolicy is an optional Masterminds-compatible semver constraint
            (e.g. "~1.25.0", "^2", ">=1.0.0,<2.0.0") that, when set, causes the
            runner to list tags from the source registry, filter to those that
            parse as semver and satisfy the constraint, and pick the highest
            matching tag at build time. Tag is then ignored as the source ref;
            the resolved tag is recorded on ComponentBuild.ResolvedTag.

            When empty, the runner uses Tag literally.
          type: string
        updated_at:
          type: string
      type: object
    stderr.ErrResponse:
      properties:
        description:
          type: string
        error:
          type: string
        user_error:
          type: boolean
      type: object
    service.awsECRImageConfigRequest:
      properties:
        aws_region:
          type: string
        iam_role_arn:
          type: string
      type: object
    service.azureACRImageConfigRequest:
      properties:
        client_id:
          type: string
        registry_url:
          type: string
        tenant_id:
          type: string
      type: object
    service.gcpGARImageConfigRequest:
      properties:
        gcp_project_id:
          type: string
        gcp_region:
          type: string
        image_url:
          type: string
        service_account_email:
          type: string
        tag:
          type: string
        workload_identity_provider:
          type: string
      type: object
    app.AWSECRImageConfig:
      properties:
        aws_region:
          type: string
        component_config_id:
          description: connection to parent model
          type: string
        component_config_type:
          type: string
        created_at:
          type: string
        created_by_id:
          type: string
        iam_role_arn:
          description: actual configuration
          type: string
        id:
          type: string
        updated_at:
          type: string
      type: object
    app.AzureACRImageConfig:
      properties:
        client_id:
          type: string
        component_config_id:
          description: connection to parent model
          type: string
        component_config_type:
          type: string
        created_at:
          type: string
        created_by_id:
          type: string
        id:
          type: string
        registry_url:
          description: actual configuration
          type: string
        tenant_id:
          type: string
        updated_at:
          type: string
      type: object
    app.GCPGARImageConfig:
      properties:
        component_config_id:
          type: string
        component_config_type:
          type: string
        created_at:
          type: string
        created_by_id:
          type: string
        gcp_project_id:
          type: string
        gcp_region:
          type: string
        id:
          type: string
        service_account_email:
          type: string
        updated_at:
          type: string
        workload_identity_provider:
          type: string
      type: object
  securitySchemes:
    APIKey:
      description: Type "Bearer" followed by a space and token.
      in: header
      name: Authorization
      type: apiKey
    OrgID:
      description: Nuon org ID
      in: header
      name: X-Nuon-Org-ID
      type: apiKey

````