Koyeb PersistentVolumes API

The PersistentVolumes API from Koyeb — 3 operation(s) for persistentvolumes.

OpenAPI Specification

koyeb-persistentvolumes-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Koyeb Rest activity PersistentVolumes API
  description: 'The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.

    '
  version: 1.0.0
host: app.koyeb.com
schemes:
- https
security:
- Bearer: []
tags:
- name: PersistentVolumes
paths:
  /v1/volume_events:
    get:
      summary: List Persistent Volume events
      operationId: ListPersistentVolumeEvents
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ListPersistentVolumeEventsReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: persistent_volume_id
        description: (Optional) Filter on persistent volume id
        in: query
        required: false
        type: string
      - name: types
        description: (Optional) Filter on persistent volume event types
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: limit
        description: (Optional) The number of items to return
        in: query
        required: false
        type: string
      - name: offset
        description: (Optional) The offset in the list of item to return
        in: query
        required: false
        type: string
      - name: order
        description: (Optional) Sorts the list in the ascending or the descending order
        in: query
        required: false
        type: string
      tags:
      - PersistentVolumes
  /v1/volumes:
    get:
      summary: List all PersistentVolumes
      operationId: ListPersistentVolumes
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ListPersistentVolumesReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: limit
        description: (Optional) The number of items to return
        in: query
        required: false
        type: string
      - name: offset
        description: (Optional) The offset in the list of item to return
        in: query
        required: false
        type: string
      - name: service_id
        description: (Optional) A filter for the service id
        in: query
        required: false
        type: string
      - name: region
        description: (Optional) A filter for the region
        in: query
        required: false
        type: string
      - name: name
        description: (Optional) A filter for the name
        in: query
        required: false
        type: string
      - name: project_id
        description: (Optional) A filter for the project ID
        in: query
        required: false
        type: string
      tags:
      - PersistentVolumes
    post:
      summary: Create a PersistentVolume
      operationId: CreatePersistentVolume
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/CreatePersistentVolumeReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/CreatePersistentVolumeRequest'
      tags:
      - PersistentVolumes
  /v1/volumes/{id}:
    get:
      summary: Get a PersistentVolume
      operationId: GetPersistentVolume
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/GetPersistentVolumeReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      tags:
      - PersistentVolumes
    delete:
      summary: Delete a PersistentVolume
      operationId: DeletePersistentVolume
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/DeletePersistentVolumeReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      tags:
      - PersistentVolumes
    post:
      summary: Update a PersistentVolume
      operationId: UpdatePersistentVolume
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/UpdatePersistentVolumeReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          type: object
          properties:
            name:
              type: string
              title: (Optional) change the name of the volume
            max_size:
              type: integer
              format: int64
              title: (Optional) increase the volume size (in Gigabyte / GB)
      tags:
      - PersistentVolumes
definitions:
  PersistentVolumeBackingStore:
    type: string
    enum:
    - PERSISTENT_VOLUME_BACKING_STORE_INVALID
    - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK
    default: PERSISTENT_VOLUME_BACKING_STORE_INVALID
    title: "- PERSISTENT_VOLUME_BACKING_STORE_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK: the backing store is a locally reachable block device"
  Error:
    type: object
    properties:
      status:
        type: integer
        format: int32
      code:
        type: string
      message:
        type: string
  UpdatePersistentVolumeReply:
    type: object
    properties:
      volume:
        $ref: '#/definitions/PersistentVolume'
  google.rpc.Status:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
      details:
        type: array
        items:
          $ref: '#/definitions/google.protobuf.Any'
  DeletePersistentVolumeReply:
    type: object
    properties:
      volume:
        $ref: '#/definitions/PersistentVolume'
  GetPersistentVolumeReply:
    type: object
    properties:
      volume:
        $ref: '#/definitions/PersistentVolume'
  CreatePersistentVolumeRequest:
    type: object
    properties:
      volume_type:
        $ref: '#/definitions/PersistentVolumeBackingStore'
        title: the volume backing store type
      name:
        type: string
        title: the volume name
      region:
        type: string
        title: the volume region
      read_only:
        type: boolean
        title: whether the volume must be set as read only
      max_size:
        type: integer
        format: int64
        title: the size of the volume (in Gigabyte / GB)
      snapshot_id:
        type: string
        title: (optional) the id of the snapshot whence the volume comes from
      project_id:
        type: string
        title: (Optional) The project ID to associate with the volume
  ErrorWithFields:
    type: object
    properties:
      status:
        type: integer
        format: int32
      code:
        type: string
      message:
        type: string
      fields:
        type: array
        items:
          $ref: '#/definitions/ErrorField'
  ListPersistentVolumeEventsReply:
    type: object
    properties:
      events:
        type: array
        items:
          $ref: '#/definitions/PersistentVolumeEvent'
        title: The collection of events
      limit:
        type: integer
        format: int64
        title: The limit in the request
      offset:
        type: integer
        format: int64
        title: The offset in the request
      order:
        type: string
        title: The order in the request
      has_next:
        type: boolean
        title: If there is more items after in the collection
  CreatePersistentVolumeReply:
    type: object
    properties:
      volume:
        $ref: '#/definitions/PersistentVolume'
  PersistentVolumeStatus:
    type: string
    enum:
    - PERSISTENT_VOLUME_STATUS_INVALID
    - PERSISTENT_VOLUME_STATUS_ATTACHED
    - PERSISTENT_VOLUME_STATUS_DETACHED
    - PERSISTENT_VOLUME_STATUS_DELETING
    - PERSISTENT_VOLUME_STATUS_DELETED
    - PERSISTENT_VOLUME_STATUS_ARCHIVING
    default: PERSISTENT_VOLUME_STATUS_INVALID
    title: "- PERSISTENT_VOLUME_STATUS_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_STATUS_ATTACHED: the volume is attached to an instance\n - PERSISTENT_VOLUME_STATUS_DETACHED: the volume is free to use\n - PERSISTENT_VOLUME_STATUS_DELETING: the volume will be deleted\n - PERSISTENT_VOLUME_STATUS_DELETED: the volume was deleted\n - PERSISTENT_VOLUME_STATUS_ARCHIVING: the volume is being archived (snapshot being created and migrated to remote storage)"
  google.protobuf.Any:
    type: object
    properties:
      '@type':
        type: string
    additionalProperties: {}
  ErrorField:
    type: object
    properties:
      field:
        type: string
      description:
        type: string
  ListPersistentVolumesReply:
    type: object
    properties:
      volumes:
        type: array
        items:
          $ref: '#/definitions/PersistentVolume'
        title: The collection of persistent volumes
      limit:
        type: integer
        format: int64
        title: The limit in the request
      offset:
        type: integer
        format: int64
        title: The offset in the request
      has_next:
        type: boolean
        title: If there is more items after in the collection
  PersistentVolume:
    type: object
    properties:
      id:
        type: string
        title: the identifier for the volume object
      name:
        type: string
        title: the volume name
      snapshot_id:
        type: string
        title: (optional) the id of the snapshot whence the volume comes from
      created_at:
        type: string
        format: date-time
        title: creation timestamp
      updated_at:
        type: string
        format: date-time
        title: last change timestamp
      deleted_at:
        type: string
        format: date-time
        title: deletion timestamp
      organization_id:
        type: string
        title: the organization to which the volume belongs to
      service_id:
        type: string
        title: the service_id to which the volume is eventually bound to
      region:
        type: string
        title: the region where the volume exists
      read_only:
        type: boolean
        title: whether to mount the volume in read-only mode
      max_size:
        type: integer
        format: int64
        title: the maximum size of the volume (in Gigabyte / GB)
      cur_size:
        type: integer
        format: int64
        title: the used amount of space as measured the last time (in Gigabyte / GB)
      status:
        $ref: '#/definitions/PersistentVolumeStatus'
        title: the status of the volume
      backing_store:
        $ref: '#/definitions/PersistentVolumeBackingStore'
        title: the backing store type
    title: The object that represent a volume to handle persistency for deployments
  PersistentVolumeEvent:
    type: object
    properties:
      id:
        type: string
      when:
        type: string
        format: date-time
      organization_id:
        type: string
      persistent_volume_id:
        type: string
      type:
        type: string
      message:
        type: string
      metadata:
        type: object
securityDefinitions:
  Bearer:
    type: apiKey
    name: Authorization
    in: header
x-tagGroups:
- name: Introduction
  tags:
  - intro
- name: API
  tags:
  - Profile
  - Sessions
  - Users
  - organization
  - OrganizationMembers
  - OrganizationInvitations
  - OrganizationConfirmations
  - Subscriptions
  - Coupons
  - Credentials
  - Secrets
  - activity
  - Apps
  - Services
  - Deployments
  - Archives
  - RegionalDeployments
  - Instances
  - Domains
  - PersistentVolumes
  - Snapshots
  - Compose
  - Repositories
  - Logs
  - Metrics
  - Catalog
  - CatalogRegions
  - CatalogInstances
  - Usages
  - Summary
  - DockerHelper