Calyptia resource_profile API

The resource_profile API from Calyptia — 2 operation(s) for resource_profile.

OpenAPI Specification

calyptia-resource-profile-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Calyptia Cloud agent resource_profile API
  version: '1.0'
  description: HTTP API service of Calyptia Cloud
  contact:
    name: Calyptia
    email: hello@calyptia.com
    url: https://cloud.calyptia.com
  termsOfService: https://calyptia.com/terms/
servers:
- url: https://cloud-api.calyptia.com
  description: prod
- url: https://cloud-api-dev.calyptia.com
  description: dev
- url: https://cloud-api-staging.calyptia.com
  description: staging
- url: http://localhost:{port}
  description: local
  variables:
    port:
      default: '5000'
tags:
- name: resource_profile
paths:
  /v1/aggregators/{aggregatorID}/resource_profiles:
    parameters:
    - schema:
        type: string
        format: uuid
      name: aggregatorID
      in: path
      required: true
    post:
      tags:
      - resource_profile
      summary: Create resource profile
      operationId: createResourceProfile
      description: "Create resource profile within a core instance.\nA resource profile is a specification of a resource used during the deployment of a pipeline.\nBy default, when you setup a core instance, Calyptia Cloud will generate 3 resource profiles for you:\n - high-performance-guaranteed-delivery.\n - high-performance-optimal-throughput.\n - best-effort-low-resource."
      security:
      - user: []
      - project: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateResourceProfile'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResourceProfile'
    get:
      tags:
      - resource_profile
      summary: Resource profiles
      operationId: resourceProfiles
      description: Resource profiles from a core instance.
      security:
      - user: []
      - project: []
      parameters:
      - schema:
          type: integer
          minimum: 0
        in: query
        name: last
        description: Last tokens.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourceProfile'
  /v1/resource_profiles/{resourceProfileID}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: resourceProfileID
      in: path
      required: true
    get:
      tags:
      - resource_profile
      summary: Resource profile
      operationId: resourceProfile
      description: Resource profile by ID.
      security:
      - user: []
      - project: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceProfile'
    patch:
      tags:
      - resource_profile
      summary: Update resource profile
      operationId: updateResourceProfile
      description: Update resource profile by its ID.
      security:
      - user: []
      - project: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateResourceProfile'
      responses:
        '204':
          description: No Content
    delete:
      tags:
      - resource_profile
      summary: Delete resource profile
      operationId: deleteResourceProfile
      description: Delete resource profile by its ID.
      security:
      - user: []
      - project: []
      responses:
        '204':
          description: No Content
components:
  schemas:
    CreateResourceProfile:
      description: Create resource profile request body.
      type: object
      properties:
        name:
          type: string
          example: my-resource-profile
        storageMaxChunksUp:
          type: integer
          format: int32
        storageSyncFull:
          type: boolean
        storageBacklogMemLimit:
          type: string
          example: 1Mi
        storageVolumeSize:
          type: string
          example: 2Mi
        storageMaxChunksPause:
          type: boolean
        cpuBufferWorkers:
          type: integer
          format: int32
        cpuLimit:
          type: string
          example: 3Mi
        cpuRequest:
          type: string
          example: 4Mi
        memoryLimit:
          type: string
          example: 5Mi
        memoryRequest:
          type: string
          example: 6Mi
      required:
      - name
      - storageMaxChunksUp
      - storageSyncFull
      - storageBacklogMemLimit
      - storageVolumeSize
      - storageMaxChunksPause
      - cpuBufferWorkers
      - cpuLimit
      - cpuRequest
      - memoryLimit
      - memoryRequest
    CreatedResourceProfile:
      type: object
      description: Created resource profile response body.
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
      required:
      - id
      - createdAt
    UpdateResourceProfile:
      description: Update resource profile request body.
      type: object
      properties:
        name:
          type: string
          example: my-resource-profile
          nullable: true
          default: null
        storageMaxChunksUp:
          type: integer
          format: int32
          nullable: true
          default: null
        storageSyncFull:
          type: boolean
          nullable: true
          default: null
        storageBacklogMemLimit:
          type: string
          example: 1Mi
          nullable: true
          default: null
        storageVolumeSize:
          type: string
          example: 2Mi
          nullable: true
          default: null
        storageMaxChunksPause:
          type: boolean
          nullable: true
          default: null
        cpuBufferWorkers:
          type: integer
          format: int32
          nullable: true
          default: null
        cpuLimit:
          type: string
          example: 3Mi
          nullable: true
          default: null
        cpuRequest:
          type: string
          example: 4Mi
          nullable: true
          default: null
        memoryLimit:
          type: string
          example: 5Mi
          nullable: true
          default: null
        memoryRequest:
          type: string
          example: 6Mi
          nullable: true
          default: null
    ResourceProfile:
      type: object
      description: Resource profile model.
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          example: my-resource-profile
        storageMaxChunksUp:
          type: integer
          format: int32
        storageSyncFull:
          type: boolean
        storageBacklogMemLimit:
          type: string
          example: 1Mi
        storageVolumeSize:
          type: string
          example: 2Mi
        storageMaxChunksPause:
          type: boolean
        cpuBufferWorkers:
          type: integer
          format: int32
        cpuLimit:
          type: string
          example: 3Mi
        cpuRequest:
          type: string
          example: 4Mi
        memoryLimit:
          type: string
          example: 5Mi
        memoryRequest:
          type: string
          example: 6Mi
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
      - id
      - name
      - storageMaxChunksUp
      - storageSyncFull
      - storageBacklogMemLimit
      - storageVolumeSize
      - storageMaxChunksPause
      - cpuBufferWorkers
      - cpuLimit
      - cpuRequest
      - memoryLimit
      - memoryRequest
      - createdAt
      - updatedAt
  securitySchemes:
    user:
      type: http
      scheme: bearer
    project:
      name: X-Project-Token
      type: apiKey
      in: header
    auth0:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://sso.calyptia.com/oauth/token
          scopes: {}
        authorizationCode:
          authorizationUrl: https://sso.calyptia.com/authorize
          tokenUrl: https://sso.calyptia.com/oauth/token
          scopes: {}