Qovery Clusters API

The Clusters API from Qovery — 24 operation(s) for clusters.

OpenAPI Specification

qovery-clusters-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.4
  title: Qovery Account Info Clusters API
  description: '- Qovery is the fastest way to deploy your full-stack apps on any Cloud provider.

    - ℹ️ The API is stable and still in development.

    '
  contact:
    name: Qovery Product Team
    url: https://www.qovery.com
    email: support+api+documentation@qovery.com
  x-logo:
    url: https://console.qovery.com/assets/logos/logo-white.svg
    altText: Qovery
servers:
- url: https://api.qovery.com
security:
- bearerAuth: []
- ApiKeyAuth: []
tags:
- name: Clusters
paths:
  /organization/{organizationId}/cluster:
    get:
      summary: List organization clusters
      operationId: listOrganizationCluster
      parameters:
      - $ref: '#/components/parameters/organizationId'
      tags:
      - Clusters
      responses:
        '200':
          description: List clusters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    post:
      summary: Create a cluster
      operationId: createCluster
      parameters:
      - $ref: '#/components/parameters/organizationId'
      tags:
      - Clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterRequest'
      responses:
        '201':
          description: Create cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/status:
    get:
      summary: List all clusters statuses
      description: Returns a list of clusters with only their id and status.
      operationId: getOrganizationClusterStatus
      parameters:
      - $ref: '#/components/parameters/organizationId'
      tags:
      - Clusters
      responses:
        '200':
          description: Get statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatusResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}:
    delete:
      summary: Delete a cluster
      operationId: deleteCluster
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      - in: query
        name: deleteMode
        schema:
          $ref: '#/components/schemas/ClusterDeleteMode'
      tags:
      - Clusters
      responses:
        '204':
          $ref: '#/components/responses/204-deletion'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    put:
      summary: Edit a cluster
      operationId: editCluster
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterRequest'
      responses:
        '200':
          description: Edited the cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/status:
    get:
      summary: Get cluster status
      operationId: getClusterStatus
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: Get status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatus'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/installationHelmValues:
    get:
      summary: Get cluster helm values for self managed installation
      operationId: getInstallationHelmValues
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: Helm values
          content:
            application/x-yaml:
              schema:
                type: string
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/kubeconfig:
    get:
      summary: Get cluster kubeconfig
      operationId: getClusterKubeconfig
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      - schema:
          type: boolean
        in: query
        name: with_token_from_cli
        description: If true, the user auth part will have an exec command with qovery cli
      tags:
      - Clusters
      responses:
        '200':
          description: Get kubeconfig of the cluster
          content:
            application/x-yaml:
              schema:
                type: string
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    put:
      summary: Edit cluster kubeconfig
      operationId: editClusterKubeconfig
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      requestBody:
        content:
          application/x-yaml:
            schema:
              type: string
      responses:
        '204':
          description: edit kubeconfig of the cluster
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/advancedSettings:
    get:
      summary: Get advanced settings
      description: 'Get the list and values of the advanced settings of the cluster.

        Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/cluster-advanced-settings/)

        '
      operationId: getClusterAdvancedSettings
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: Advanced settings list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterAdvancedSettings'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    put:
      summary: Edit advanced settings
      description: Edit advanced settings by returning table of advanced settings.
      operationId: editClusterAdvancedSettings
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterAdvancedSettings'
      responses:
        '201':
          description: Updated advanced settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterAdvancedSettings'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/routingTable:
    get:
      summary: Get routing table
      description: Retrieve network routing table where each line corresponds to a route between a destination and a target.
      operationId: getRoutingTable
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: Routing table
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterRoutingTable'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    put:
      summary: Edit routing table
      description: Edit routing table by returning updated table.
      operationId: editRoutingTable
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterRoutingTableRequest'
      responses:
        '201':
          description: Updated routing table
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterRoutingTable'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/logs:
    get:
      summary: List Cluster Logs
      description: List Cluster Logs
      operationId: listClusterLogs
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: list cluster logs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterLogsResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/cloudProviderInfo:
    get:
      summary: Get cluster cloud provider info and credentials
      operationId: getOrganizationCloudProviderInfo
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: get cloud provider info and credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterCloudProviderInfo'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    post:
      summary: Specify cluster cloud provider info and credentials
      operationId: specifyClusterCloudProviderInfo
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterCloudProviderInfoRequest'
      responses:
        '201':
          description: Create cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterCloudProviderInfo'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/isReady:
    get:
      summary: Know if a cluster is ready to be deployed or not
      operationId: getClusterReadinessStatus
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: Get Cluster Readiness Status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterReadinessStatus'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/deploy:
    post:
      summary: Deploy a cluster
      description: allows to deploy a cluster
      operationId: deployCluster
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      - schema:
          type: boolean
        in: query
        name: dry_run
        description: 'default: false. Decide if the deployment of the cluster should be done in dry_run mode. Avoiding any changes'
      tags:
      - Clusters
      responses:
        '201':
          description: Deploy cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatus'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/eks-anywhere/commits:
    get:
      summary: List EKS Anywhere commits
      description: Returns list of the last commits made on the repository linked to the EKS Anywhere cluster, filtered by the targeted YAML file when supported by provider.
      operationId: listEksAnywhereCommits
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: List EKS Anywhere commits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/eks-anywhere/commit:
    put:
      summary: Update selected EKS Anywhere commit
      description: Persist selected commit for an EKS Anywhere cluster.
      operationId: updateEksAnywhereCommit
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EksAnywhereCommitRequest'
      responses:
        '200':
          description: Updated EKS Anywhere commit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EksAnywhereCommitResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/eks-anywhere/jwt:
    get:
      summary: Get latest EKS Anywhere cluster JWT
      description: Returns the latest valid JWT currently used for engine deployments for the specified EKS Anywhere cluster.
      operationId: getEksAnywhereClusterJwt
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '200':
          description: Latest EKS Anywhere cluster JWT
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EksAnywhereClusterJwtResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /cluster/{clusterId}/upgrade:
    post:
      summary: Upgrade a cluster
      description: allows to upgrade a cluster to next available kubernetes version
      operationId: upgradeCluster
      parameters:
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '201':
          description: Upgrade cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatus'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/karpenterPrivateSubnetIds:
    put:
      summary: Update karpenter private fargate subnet ids
      description: Update karpenter private fargate subnet ids
      operationId: updateKarpenterPrivateFargateSubnetIds
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterKarpenterPrivateSubnetIdsPutRequest'
      responses:
        '200':
          description: Updated
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /organization/{organizationId}/cluster/{clusterId}/stop:
    post:
      summary: Stop cluster
      description: Cluster stop has been requester.
      operationId: StopCluster
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/clusterId'
      tags:
      - Clusters
      responses:
        '202':
          description: Update cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatus'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Cluster is already stopped or an operation is in progress
  /defaultClusterAdvancedSettings:
    get:
      summary: List default cluster advanced settings
      description: Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/cluster-advanced-settings/)
      operationId: getDefaultClusterAdvancedSettings
      tags:
      - Clusters
      responses:
        '200':
          description: Default cluster advanced settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterAdvancedSettings'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
  /cluster/{clusterId}/environments:
    parameters:
    - schema:
        type: string
      name: clusterId
      in: path
      required: true
    get:
      summary: List environments services by cluster id
      operationId: get-environments-by-cluster-id
      tags:
      - Clusters
      responses:
        '200':
          description: List environments services by cluster id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterEnvironmentResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /cluster/{clusterId}/lock:
    parameters:
    - schema:
        type: string
      name: clusterId
      in: path
      required: true
    post:
      summary: Lock Cluster
      tags:
      - Clusters
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterLock'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      operationId: lockCluster
      x-stoplight:
        id: kttp2yd6qq7m7
      description: Lock a Cluster
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterLockRequest'
    delete:
      summary: Unlock Cluster
      tags:
      - Clusters
      responses:
        '204':
          description: No Content
        '401':
          description: "Unauthorized responses:\n        '204':\n          $ref: '#/components/responses/204-deletion'\n        '401':\n          $ref: '#/components/responses/401'\n        '403':\n          $ref: '#/components/responses/403'\n        '404':\n          $ref: '#/components/responses/404'"
        '403':
          description: Forbidden
        '404':
          description: ''
      operationId: unlock-cluster
      x-stoplight:
        id: vkn00s3mt1vew
      description: Unlock a cluster
  /cluster/{clusterId}/events:
    get:
      summary: List Cluster Kubernetes Events
      description: List Cluster Kubernetes Events
      operationId: get-cluster-kubernetes-events
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterId'
      - in: query
        name: from_date_time
        description: "The start date time to fetch events from, following ISO-8601 format.  \nThe `+` character must be escaped (`%2B`)\n"
        required: true
        example: '2025-03-03T09:00:00+00:00'
        schema:
          type: string
          nullable: false
      - in: query
        name: to_date_time
        description: "The end date time to fetch events from, following ISO-8601 format.  \nThe `+` character must be escaped (`%2B`)\n"
        required: true
        example: '2025-03-03T03:00:00+00:00'
        schema:
          type: string
          nullable: false
      - schema:
          type: string
        in: query
        name: node_name
        description: The name of the node to fetch event from
      - schema:
          type: string
        in: query
        name: pod_name
        description: The name of the pod to fetch event from
      - schema:
          type: string
        in: query
        name: reporting_component
        description: The name of the reporting component used to filter events.
      responses:
        '200':
          description: List Cluster Kubernetes Events
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        created_at:
                          type: string
                          format: date-time
                          description: The created date following ISO-8601 format
                        kind:
                          type: string
                          description: The source kubernetes object related to the Event
                        namespace:
                          type: string
                          description: The namespace of the kubernetes object related to the Event (optional)
                        name:
                          type: string
                          description: The name of the Event
                        reason:
                          type: string
                          description: The action that triggered the Event
                        message:
                          type: string
                          description: A description of the Event
                        type:
                          type: string
                          description: As of today it can be either Warning or Normal (can evolve in the next releases)
                        reporting_component:
                          type: string
                          x-stoplight:
                            id: j80d7nbe0d7t5
                        count:
                          type: integer
                          x-stoplight:
                            id: dg0q4lb53n9bu
                        first_occurrence:
                          type: string
                          x-stoplight:
                            id: 2gfzxsksepqu1
                          format: date-time
                        last_occurrence:
                          type: string
                          x-stoplight:
                            id: 5pap12d1475w9
                          format: date-time
  /cluster/{clusterId}/metrics:
    get:
      summary: Fetch cluster metrics
      description: Fetch cluster metrics.
      operationId: get-cluster-metrics
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterId'
      - in: query
        name: endpoint
        schema:
          type: string
          nullable: false
        required: true
      - in: query
        name: query
        required: true
        schema:
          type: string
          nullable: false
      - schema:
          type: string
        in: query
        name: start
      - schema:
          type: string
        in: query
        name: end
      - schema:
          type: string
        in: query
        name: step
      - schema:
          type: string
        in: query
        name: time
      - schema:
          type: string
        in: query
        name: timeout
      - schema:
          type: string
        in: query
        name: dedup
      - schema:
          type: string
        in: query
        name: partial_response
      - schema:
          type: string
        in: query
        name: max_source_resolution
      - schema:
          type: string
        in: query
        name: engine
      - schema:
          type: string
        in: query
        name: analyze
      - schema:
          type: string
        in: query
        name: board_short_name
      - schema:
          type: string
        in: query
        name: metric_short_name
      - schema:
          type: string
        in: query
        name: trace_id
      - schema:
          type: string
        in: query
        name: range
      responses:
        '200':
          description: Cluster Metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterMetricsResponse'
  /cluster/{clusterId}/logs:
    parameters:
    - schema:
        type: string
      name: clusterId
      in: path
      required: true
    get:
      summary: Fetch cluster logs
      responses:
        '200':
          description: Cluster Logs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterLogsResponse'
      operationId: get-cluster-logs
      tags:
      - Clusters
      x-stoplight:
        id: eodcl3enjp2ax
      description: Fetch cluster logs
      parameters:
      - schema:
          type: string
        in: query
        name: endpoint
        required: true
      - schema:
          type: string
        in: query
        name: query
        required: true
      - schema:
          type: string
        in: query
        name: start
      - schema:
          type: string
        in: query
        name: end
      - schema:
          type: string
        in: query
        name: limit
      - schema:
          type: string
        in: query
        name: since
      - schema:
          type: string
        in: query
        name: step
      - schema:
          type: string
        in: query
        name: interval
      - schema:
          type: string
        in: query
        name: direction
      - schema:
          type: string
        in: query
        name: time
components:
  schemas:
    ReferenceObject:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
    KarpenterNodePoolLimits:
      title: KarpenterNodePoolLimits
      type: object
      required:
      - enabled
      - max_cpu_in_vcpu
      - max_memory_in_gibibytes
      - max_gpu
      properties:
        enabled:
          type: boolean
          default: false
          nullable: false
        max_cpu_in_vcpu:
          type: integer
          description: 'CPU limit that will be applied for the node pool (in vCPU unit: 1 vCPU = 1000 millicores)'
        max_memory_in_gibibytes:
          type: integer
          description: 'Memory limit that will be applied for the node pool (in Gibibytes unit: 1Gi = 1024 mebibytes)'
        max_gpu:
          type: integer
          x-stoplight:
            id: fn3k34ck5abe4
          default: 0
          example: 10
          minimum: 0
          description: GPU limit that will be applied for the node pool
    ClusterRoutingTable:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            required:
            - destination
            - target
            - description
            properties:
              destination:
                type: string
              target:
                type: string
              description:
                type: string
    GitProviderEnum:
      type: string
      enum:
      - BITBUCKET
      - GITHUB
      - GITLAB
    ClusterLock:
      title: ClusterLock
      x-stoplight:
        id: cfl44h3tyj8p9
      type: object
      required:
      - reason
      - cluster_id
      - locked_at
      - owner_name
      properties:
        reason:
          type: string
          x-stoplight:
            id: 24t21mhr6yvb8
        ttl_in_days:
          type: integer
          x-stoplight:
            id: hkgmap89j628o
        cluster_id:
          type: string
          x-stoplight:
            id: uvcmzekexkogh
          format: uuid
        locked_at:
          type: string
          format: date-time
          x-stoplight:
            id: aqpw2xs6xlw6b
        owner_name:
          type: string
          x-stoplight:
            id: 92n5bq5he0utp
    ClusterLogs:
      type: object
      properties:
        type:
          type: string
          description: log level
          example: info
        timestamp:
          type: string
          description: log date creation
          format: date-time
          example: '2022-06-22T14:20:17.733084815Z'
        step:
          description: log step
          example: Create
          type: string
          enum:
          - LoadConfiguration
          - Create
          - Created
          - CreateError
          - Pause
          - Paused
          - PauseError
          - Delete
          - Deleted
          - DeleteError
          - RetrieveClusterConfig
          - RetrieveClusterResources
          - ValidateSystemRequire

# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/qovery/refs/heads/main/openapi/qovery-clusters-api-openapi.yml