Blame internal/cloudapi/openapi.yml

Packit Service 509fd4
---
Packit Service 509fd4
openapi: 3.0.1
Packit Service 509fd4
info:
Packit Service 509fd4
  version: '1'
Packit Service 509fd4
  title: OSBuild Composer cloud api
Packit Service 509fd4
  description: Service to build and install images.
Packit Service 509fd4
  license:
Packit Service 509fd4
    name: Apache 2.0
Packit Service 509fd4
    url: https://www.apache.org/licenses/LICENSE-2.0.html
Packit Service 509fd4
Packit Service 509fd4
paths:
Packit Service bcdfb1
  /version:
Packit Service bcdfb1
    get:
Packit Service bcdfb1
      summary: get the service version
Packit Service bcdfb1
      description: "get the service version"
Packit Service bcdfb1
      operationId: getVersion
Packit Service bcdfb1
      responses:
Packit Service bcdfb1
        '200':
Packit Service bcdfb1
          description: a service version
Packit Service bcdfb1
          content:
Packit Service bcdfb1
            application/json:
Packit Service bcdfb1
              schema:
Packit Service bcdfb1
                $ref: '#/components/schemas/Version'
Packit Service bcdfb1
  /openapi.json:
Packit Service bcdfb1
    get:
Packit Service bcdfb1
      summary: get the openapi json specification
Packit Service bcdfb1
      operationId: getOpenapiJson
Packit Service bcdfb1
      tags:
Packit Service bcdfb1
        - meta
Packit Service bcdfb1
      responses:
Packit Service bcdfb1
        '200':
Packit Service bcdfb1
          description: returns this document
Packit Service 509fd4
  /compose/{id}:
Packit Service 509fd4
    get:
Packit Service 509fd4
      summary: The status of a compose
Packit Service 509fd4
      parameters:
Packit Service 509fd4
        - in: path
Packit Service 509fd4
          name: id
Packit Service 509fd4
          schema:
Packit Service 509fd4
            type: string
Packit Service 509fd4
            format: uuid
Packit Service 509fd4
            example: '123e4567-e89b-12d3-a456-426655440000'
Packit Service 509fd4
          required: true
Packit Service 509fd4
          description: ID of compose status to get
Packit Service 509fd4
      description: Get the status of a running or completed compose. This includes whether or not it succeeded, and also meta information about the result.
Packit Service 509fd4
      operationId: compose_status
Packit Service 509fd4
      responses:
Packit Service 509fd4
        '200':
Packit Service 509fd4
          description: compose status
Packit Service 509fd4
          content:
Packit Service 509fd4
            application/json:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                $ref: '#/components/schemas/ComposeStatus'
Packit Service 509fd4
        '400':
Packit Service 509fd4
          description: Invalid compose id
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
        '404':
Packit Service 509fd4
          description: Unknown compose id
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
  /compose:
Packit Service 509fd4
    post:
Packit Service 509fd4
      summary: Create compose
Packit Service 509fd4
      description: Create a new compose, potentially consisting of several images and upload each to their destinations.
Packit Service 509fd4
      operationId: compose
Packit Service 509fd4
      requestBody:
Packit Service 509fd4
        required: true
Packit Service 509fd4
        content:
Packit Service 509fd4
          application/json:
Packit Service 509fd4
            schema:
Packit Service 509fd4
              $ref: '#/components/schemas/ComposeRequest'
Packit Service 509fd4
      responses:
Packit Service 509fd4
        '201':
Packit Service 509fd4
          description: Compose has started
Packit Service 509fd4
          content:
Packit Service 509fd4
            application/json:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                $ref: '#/components/schemas/ComposeResult'
Packit Service 509fd4
Packit Service 509fd4
components:
Packit Service 509fd4
  schemas:
Packit Service bcdfb1
    Version:
Packit Service 509fd4
      required:
Packit Service bcdfb1
        - version
Packit Service 509fd4
      properties:
Packit Service bcdfb1
        version:
Packit Service 509fd4
          type: string
Packit Service bcdfb1
    ComposeStatus:
Packit Service bcdfb1
      required:
Packit Service bcdfb1
        - image_status
Packit Service bcdfb1
      properties:
Packit Service bcdfb1
        image_status:
Packit Service bcdfb1
          $ref: '#/components/schemas/ImageStatus'
Packit Service 509fd4
    ImageStatus:
Packit Service 509fd4
      required:
Packit Service 509fd4
       - status
Packit Service 509fd4
      properties:
Packit Service 509fd4
        status:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          enum: ['success', 'failure', 'pending', 'building', 'uploading', 'registering']
Packit Service 509fd4
          example: 'success'
Packit Service bcdfb1
        upload_status:
Packit Service bcdfb1
          $ref: '#/components/schemas/UploadStatus'
Packit Service 509fd4
    UploadStatus:
Packit Service bcdfb1
      required:
Packit Service bcdfb1
        - status
Packit Service bcdfb1
        - type
Packit Service bcdfb1
      properties:
Packit Service bcdfb1
        status:
Packit Service bcdfb1
          type: string
Packit Service bcdfb1
          enum: ['success', 'failure', 'pending', 'running']
Packit Service bcdfb1
        type:
Packit Service bcdfb1
          $ref: '#/components/schemas/UploadTypes'
Packit Service 509fd4
    AWSUploadStatus:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      properties:
Packit Service 509fd4
        ami_id:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'ami-0c830793775595d4b'
Packit Service 509fd4
    ComposeRequest:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - distribution
Packit Service 509fd4
        - image_requests
Packit Service 509fd4
      properties:
Packit Service 509fd4
        distribution:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'rhel-8'
Packit Service 509fd4
        image_requests:
Packit Service 509fd4
          type: array
Packit Service 509fd4
          items:
Packit Service 509fd4
            $ref: '#/components/schemas/ImageRequest'
Packit Service 509fd4
        customizations:
Packit Service 509fd4
          $ref: '#/components/schemas/Customizations'
Packit Service 509fd4
    ImageRequest:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - architecture
Packit Service 509fd4
        - image_type
Packit Service 509fd4
        - repositories
Packit Service 509fd4
        - upload_requests
Packit Service 509fd4
      properties:
Packit Service 509fd4
        architecture:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'x86_64'
Packit Service 509fd4
        image_type:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'ami'
Packit Service 509fd4
        repositories:
Packit Service 509fd4
          type: array
Packit Service 509fd4
          items:
Packit Service 509fd4
            $ref: '#/components/schemas/Repository'
Packit Service 509fd4
        upload_requests:
Packit Service 509fd4
          type: array
Packit Service 509fd4
          items:
Packit Service 509fd4
            $ref: '#/components/schemas/UploadRequest'
Packit Service 509fd4
    Repository:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - rhsm
Packit Service 509fd4
      properties:
Packit Service 509fd4
        rhsm:
Packit Service 509fd4
          type: boolean
Packit Service 509fd4
        baseurl:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: url
Packit Service 509fd4
          example: 'https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/os/'
Packit Service 509fd4
        mirrorlist:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: url
Packit Service 509fd4
          example: 'https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-33&arch=x86_64'
Packit Service 509fd4
        metalink:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: url
Packit Service 509fd4
          example: 'https://mirrors.fedoraproject.org/metalink?repo=fedora-32&arch=x86_64'
Packit Service 509fd4
    UploadRequest:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - type
Packit Service 509fd4
        - options
Packit Service 509fd4
      properties:
Packit Service 509fd4
        type:
Packit Service bcdfb1
          $ref: '#/components/schemas/UploadTypes'
Packit Service 509fd4
        options:
Packit Service 509fd4
          oneOf:
Packit Service 509fd4
            -  $ref: '#/components/schemas/AWSUploadRequestOptions'
Packit Service bcdfb1
    UploadTypes:
Packit Service bcdfb1
      type: string
Packit Service bcdfb1
      enum: ['aws']
Packit Service 509fd4
    AWSUploadRequestOptions:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - region
Packit Service 509fd4
        - s3
Packit Service 509fd4
        - ec2
Packit Service 509fd4
      properties:
Packit Service 509fd4
        region:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'eu-west-1'
Packit Service 509fd4
        s3:
Packit Service 509fd4
          $ref: '#/components/schemas/AWSUploadRequestOptionsS3'
Packit Service 509fd4
        ec2:
Packit Service 509fd4
          $ref: '#/components/schemas/AWSUploadRequestOptionsEc2'
Packit Service 509fd4
    AWSUploadRequestOptionsS3:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - access_key_id
Packit Service 509fd4
        - secret_access_key
Packit Service 509fd4
        - bucket
Packit Service 509fd4
      properties:
Packit Service 509fd4
        access_key_id:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'AKIAIOSFODNN7EXAMPLE'
Packit Service 509fd4
        secret_access_key:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: password
Packit Service 509fd4
          example: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
Packit Service 509fd4
        bucket:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'my-bucket'
Packit Service 509fd4
    AWSUploadRequestOptionsEc2:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - access_key_id
Packit Service 509fd4
        - secret_access_key
Packit Service 509fd4
      properties:
Packit Service 509fd4
        access_key_id:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'AKIAIOSFODNN7EXAMPLE'
Packit Service 509fd4
        secret_access_key:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: password
Packit Service 509fd4
          example: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
Packit Service 509fd4
        snapshot_name:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'my-snapshot'
Packit Service 509fd4
        share_with_accounts:
Packit Service 509fd4
          type: array
Packit Service 509fd4
          example: ['123456789012']
Packit Service 509fd4
          items:
Packit Service 509fd4
            type: string
Packit Service 509fd4
    Customizations:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      properties:
Packit Service 509fd4
        subscription:
Packit Service 509fd4
          $ref: '#/components/schemas/Subscription'
Packit Service bcdfb1
        packages:
Packit Service bcdfb1
          type: array
Packit Service bcdfb1
          example: ['postgres']
Packit Service bcdfb1
          items:
Packit Service bcdfb1
            type: string
Packit Service 509fd4
    Subscription:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - organization
Packit Service 509fd4
        - activation-key
Packit Service 509fd4
        - server-url
Packit Service 509fd4
        - base-url
Packit Service 509fd4
        - insights
Packit Service 509fd4
      properties:
Packit Service 509fd4
        organization:
Packit Service 509fd4
          type: integer
Packit Service 509fd4
          example: 2040324
Packit Service 509fd4
        activation-key:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: password
Packit Service 509fd4
          example: 'my-secret-key'
Packit Service 509fd4
        server-url:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: 'subscription.rhsm.redhat.com'
Packit Service 509fd4
        base-url:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: url
Packit Service 509fd4
          example: http://cdn.redhat.com/
Packit Service 509fd4
        insights:
Packit Service 509fd4
          type: boolean
Packit Service 509fd4
          example: true
Packit Service 509fd4
    ComposeResult:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - id
Packit Service 509fd4
      properties:
Packit Service 509fd4
        id:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: uuid
Packit Service 509fd4
          example: '123e4567-e89b-12d3-a456-426655440000'