NexGen Cloud Clusters API

A cluster is a managed Kubernetes cluster on Hyperstack, control plane + worker nodes preconfigured for GPU workloads. Clusters are region-scoped and can attach data volumes via Container Storage Interface (CSI) drivers. Most workflows: deploy cluster → configure storage → deploy workload → autoscale workers.

Business capability
IT Infrastructure Management BC-600.50

Operations 17

GET /core/clusters List Clusters #
POST /core/clusters Create Cluster #
GET /core/clusters/master-flavors Get Cluster Master Flavors #
GET /core/clusters/name-availability/{name} Fetch cluster name availability #
GET /core/clusters/versions List Cluster Versions #
GET /core/clusters/{cluster_id}/node-groups List node groups for a cluster #
POST /core/clusters/{cluster_id}/node-groups Create a node group in a cluster #
GET /core/clusters/{cluster_id}/node-groups/{node_group_id} Retrieve a node group in a cluster #
DELETE /core/clusters/{cluster_id}/node-groups/{node_group_id} Delete a node group #
PATCH /core/clusters/{cluster_id}/node-groups/{node_group_id} Update a node group in a cluster #
GET /core/clusters/{cluster_id}/nodes Get Cluster Nodes #
POST /core/clusters/{cluster_id}/nodes Create Node #
POST /core/clusters/{cluster_id}/nodes/delete Delete Multiple Cluster Nodes #
DELETE /core/clusters/{cluster_id}/nodes/{node_id} Delete Cluster Node #
POST /core/clusters/{cluster_id}/reconcile Reconcile a cluster #
GET /core/clusters/{id} Getting Cluster Detail #
DELETE /core/clusters/{id} Delete a cluster #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nexgen-cloud-clusters-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nexgen-cloud-clusters-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Infrahub Clusters API
  version: '1.0'
  description: Cluster APIs
servers:
- url: https://infrahub-api.nexgencloud.com/v1
security:
- accessToken: []
- apiKey: []
tags:
- name: Clusters
  description: Cluster APIs
paths:
  /core/clusters:
    get:
      tags:
      - Clusters
      summary: List Clusters
      operationId: List_Clusters
      parameters:
      - name: page
        in: query
        description: Page number for pagination
        schema:
          type: integer
      - name: pageSize
        in: query
        description: Number of items per page
        schema:
          type: integer
      - name: environment
        in: query
        description: Environment Filter
        schema:
          type: string
      - name: search
        in: query
        description: Search query to filter cluster by name
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
    post:
      tags:
      - Clusters
      summary: Create Cluster
      operationId: Create_Cluster
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Create_Cluster_Payload'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
  /core/clusters/master-flavors:
    get:
      tags:
      - Clusters
      summary: Get Cluster Master Flavors
      operationId: Get_Cluster_Master_Flavors
      responses:
        '200':
          description: Retrieved Flavors.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterFlavorsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
  /core/clusters/name-availability/{name}:
    get:
      tags:
      - Clusters
      summary: Fetch cluster name availability
      description: Check if a Cluster name is available
      operationId: Fetch_cluster_name_availability
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NameAvailableModel'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
  /core/clusters/versions:
    get:
      tags:
      - Clusters
      summary: List Cluster Versions
      description: Lists available Kubernetes versions, optionally filtered by region.
      operationId: Get_Cluster_Versions
      parameters:
      - name: region
        in: query
        description: Filter versions by region name (optional)
        schema:
          type: string
      responses:
        '200':
          description: Retrieved Cluster Versions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterVersions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
  /core/clusters/{cluster_id}/node-groups:
    get:
      tags:
      - Clusters
      summary: List node groups for a cluster
      operationId: List_Node_Groups
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterNodeGroupsListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
    post:
      tags:
      - Clusters
      summary: Create a node group in a cluster
      operationId: Create_Node_Group
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Create_ClusterNodeGroup_payload'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterNodeGroupsCreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
  /core/clusters/{cluster_id}/node-groups/{node_group_id}:
    get:
      tags:
      - Clusters
      summary: Retrieve a node group in a cluster
      operationId: Get_Node_Group
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      - name: node_group_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterNodeGroupsGetResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
    delete:
      tags:
      - Clusters
      summary: Delete a node group
      operationId: Delete_Node_Group
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      - name: node_group_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
    patch:
      tags:
      - Clusters
      summary: Update a node group in a cluster
      operationId: Update_Node_Group
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      - name: node_group_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Update_ClusterNodeGroup_payload'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterNodeGroupsCreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
  /core/clusters/{cluster_id}/nodes:
    get:
      tags:
      - Clusters
      summary: Get Cluster Nodes
      operationId: Get_Cluster_Nodes
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterNodesListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
    post:
      tags:
      - Clusters
      summary: Create Node
      operationId: Create_Node
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateClusterNodeFields'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterNodesListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
  /core/clusters/{cluster_id}/nodes/delete:
    post:
      tags:
      - Clusters
      summary: Delete Multiple Cluster Nodes
      operationId: Delete_Cluster_Nodes
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteClusterNodesFields'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
  /core/clusters/{cluster_id}/nodes/{node_id}:
    delete:
      tags:
      - Clusters
      summary: Delete Cluster Node
      operationId: Delete_Cluster_Node
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      - name: node_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
  /core/clusters/{cluster_id}/reconcile:
    post:
      tags:
      - Clusters
      summary: Reconcile a cluster
      operationId: Reconcile_cluster
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManualReconciliationModel'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
  /core/clusters/{id}:
    get:
      tags:
      - Clusters
      summary: Getting Cluster Detail
      operationId: Getting_Cluster_Detail
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
    delete:
      tags:
      - Clusters
      summary: Delete a cluster
      operationId: Delete_cluster
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
components:
  schemas:
    Update_ClusterNodeGroup_payload:
      type: object
      properties:
        min_count:
          minimum: 1
          type: integer
        max_count:
          maximum: 20
          type: integer
        firewall_ids:
          type: array
          description: IDs of the firewalls to apply to all nodes in this node group
          items:
            type: integer
    ClusterNodeInstanceFields:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        status:
          type: string
        fixed_ip:
          type: string
        floating_ip:
          type: string
        floating_ip_status:
          type: string
        contract_id:
          type: integer
        image_id:
          type: integer
    ClusterNodeGroupFirewallFields:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        status:
          type: string
    LableResonse:
      type: object
      properties:
        id:
          type: integer
        label:
          type: string
    ClusterNodeGroupsListResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        node_groups:
          type: array
          items:
            $ref: '#/components/schemas/ClusterNodeGroupFields'
    ManualReconciliationModel:
      type: object
      properties:
        message:
          type: string
        status:
          type: string
        cluster:
          $ref: '#/components/schemas/ClusterFields'
    NameAvailableModel:
      type: object
      properties:
        name:
          type: string
        available:
          type: boolean
        message:
          type: string
    ClusterNodeFields:
      type: object
      properties:
        id:
          type: integer
        role:
          type: string
        node_group_id:
          type: integer
        node_group_name:
          type: string
        instance:
          $ref: '#/components/schemas/ClusterNodeInstanceFields'
        status:
          type: string
        status_reason:
          type: string
        is_bastion:
          type: boolean
        requires_public_ip:
          type: boolean
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Cluster_Flavor_Fields:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        cpu:
          type: integer
        ram:
          type: number
        disk:
          type: integer
        ephemeral:
          type: integer
        gpu:
          type: string
        gpu_count:
          type: integer
        features:
          type: object
          properties: {}
        labels:
          type: array
          items:
            $ref: '#/components/schemas/LableResonse'
    ClusterNodeGroupFields:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        role:
          type: string
        flavor:
          $ref: '#/components/schemas/Cluster_Flavor_Fields'
        count:
          type: integer
        min_count:
          type: integer
        max_count:
          type: integer
        firewall_ids:
          type: array
          items:
            type: integer
        firewalls:
          type: array
          items:
            $ref: '#/components/schemas/ClusterNodeGroupFirewallFields'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    ClusterVersions:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        versions:
          type: array
          items:
            $ref: '#/components/schemas/ClusterVersion'
    ClusterNodeGroupsCreateResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        node_group:
          $ref: '#/components/schemas/ClusterNodeGroupFields'
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/ClusterNodeFields'
    CreateClusterNodeFields:
      type: object
      properties:
        node_group:
          type: string
        role:
          type: string
          example: worker
          enum:
          - worker
          - master
        count:
          minimum: 1
          type: integer
    ClusterResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        cluster:
          $ref: '#/components/schemas/ClusterFields'
    ClusterListResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        clusters:
          type: array
          items:
            $ref: '#/components/schemas/ClusterFields'
    ClusterVersion:
      type: object
      properties:
        id:
          type: integer
          description: ''
        version:
          type: string
          description: ''
        region:
          $ref: '#/components/schemas/region'
        image:
          $ref: '#/components/schemas/image'
        created_at:
          type: string
          description: ''
          format: date-time
        updated_at:
          type: string
          description: ''
          format: date-time
    ClusterFields:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        environment_name:
          type: string
        kubernetes_version:
          type: string
        api_address:
          type: string
        kube_config:
          type: string
        status:
          type: string
        status_reason:
          type: string
        node_groups:
          type: array
          items:
            $ref: '#/components/schemas/ClusterNodeGroupFields'
        master_flavor:
          $ref: '#/components/schemas/Cluster_Flavor_Fields'
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/ClusterNodeFields'
        keypair_name:
          type: string
        is_reconciling:
          type: boolean
        created_at:
          type: string
          format: date-time
    ResponseModel:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
    ClusterNodesListResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/ClusterNodeFields'
    DeleteClusterNodesFields:
      type: object
      properties:
        ids:
          type: array
          items:
            type: integer
    ErrorResponseModel:
      type: object
      properties:
        status:
          type: boolean
          default: false
        message:
          type: string
        error_reason:
          type: string
    Create_ClusterNodeGroup_payload:
      required:
      - flavor_name
      - name
      - role
      type: object
      properties:
        name:
          maxLength: 20
          type: string
        flavor_name:
          type: string
        count:
          minimum: 1
          type: integer
        role:
          type: string
          example: worker
          default: worker
          enum:
          - worker
        min_count:
          minimum: 1
          type: integer
        max_count:
          maximum: 20
          type: integer
        firewall_ids:
          type: array
          description: IDs of the firewalls to apply to all nodes in this node group
          items:
            type: integer
    Create_Cluster_Payload:
      required:
      - environment_name
      - keypair_name
      - kubernetes_version
      - master_flavor_name
      - name
      type: object
      properties:
        name:
          type: string
        environment_name:
          type: string
        kubernetes_version:
          type: string
        master_count:
          maximum: 3
          minimum: 2
          type: integer
        master_flavor_name:
          type: string
        node_count:
          type: integer
        node_flavor_name:
          type: string
        keypair_name:
          type: string
        deployment_mode:
          type: string
          example: full
          default: full
          enum:
          - full
          - standard
        node_groups:
          type: array
          items:
            $ref: '#/components/schemas/Create_ClusterNodeGroup_payload'
    ClusterNodeGroupsGetResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        node_group:
          $ref: '#/components/schemas/ClusterNodeGroupFields'
    region:
      type: object
    image:
      type: object
    MasterFlavorsResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        flavors:
          type: array
          items:
            $ref: '#/components/schemas/Cluster_Flavor_Fields'
  securitySchemes:
    accessToken:
      type: apiKey
      description: Bearer Token
      name: Authorization
      in: header
    apiKey:
      type: apiKey
      description: Send it as api_key in header
      name: api_key
      in: header
x-original-swagger-version: '2.0'