Clusters

API reference for Clusters on CUDO Compute.

Reference
GET
/v1/clusters/data-centers/{dataCenterId}/machine-types/{machineTypeId}

Get cluster machine type

Path attributes

  • Name
    dataCenterId
    Type
    string
    Description
  • Name
    machineTypeId
    Type
    string
    Description
  • Name
    projectId
    Type
    string
    Description
Request
GET
/v1/clusters/data-centers/{dataCenterId}/machine-types/{machineTypeId}
    
    curl 'https://rest.compute.cudo.org/v1/clusters/data-centers/{dataCenterId}/machine-types/{machineTypeId}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "machineType": {
    "dataCenterId": "string",
    "id": "string",
    "architecture": "string",
    "cpuCores": "integer",
    "cpuSpeedMhz": "integer",
    "cpuModel": "string",
    "memoryGib": "integer",
    "disks": "integer",
    "diskSizeGib": "integer",
    "gpus": "integer",
    "gpuModelId": "string",
    "prices": [
      {
        "dataCenterId": "string",
        "machineTypeId": "string",
        "commitmentTerm": "string",
        "priceHr": {
          "value": "string"
        },
        "ipv4PriceHr": {
          "value": "string"
        }
      }
    ],
    "machinesFree": "integer",
    "networkType": "string"
  }
}

    
  

GET
/v1/clusters/machine-types

List cluster machine types

Path attributes

  • Name
    pageNumber
    Type
    integer
    Description
  • Name
    pageSize
    Type
    integer
    Description
  • Name
    projectId
    Type
    string
    Description
Request
GET
/v1/clusters/machine-types
    
    curl 'https://rest.compute.cudo.org/v1/clusters/machine-types' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "machineTypes": [
    {
      "dataCenterId": "string",
      "id": "string",
      "architecture": "string",
      "cpuCores": "integer",
      "cpuSpeedMhz": "integer",
      "cpuModel": "string",
      "memoryGib": "integer",
      "disks": "integer",
      "diskSizeGib": "integer",
      "gpus": "integer",
      "gpuModelId": "string",
      "prices": [
        {
          "dataCenterId": "string",
          "machineTypeId": "string",
          "commitmentTerm": "string",
          "priceHr": {
            "value": "string"
          },
          "ipv4PriceHr": {
            "value": "string"
          }
        }
      ],
      "machinesFree": "integer",
      "networkType": "string"
    }
  ],
  "totalCount": "integer",
  "pageNumber": "integer",
  "pageSize": "integer"
}

    
  

POST
/v1/projects/{cluster.projectId}/clusters

Create a cluster

Order a cluster for a project

Body attributes

  • Name
    id
    Type
    string
    Description
  • Name
    dataCenterId
    Type
    string
    Description
  • Name
    machineTypeId
    Type
    string
    Description
  • Name
    machineCount
    Type
    integer
    Description
  • Name
    commitmentTerm
    Type
    string
    Description
  • Name
    sshKeySource
    Type
    string
    Description
  • Name
    customSshKeys
    Type
    array
    Description
  • Name
    startScript
    Type
    string
    Description

Path attributes

  • Name
    cluster.projectId
    Type
    string
    Description
Request
POST
/v1/projects/{cluster.projectId}/clusters
    
    curl 'https://rest.compute.cudo.org/v1/projects/{cluster.projectId}/clusters' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "id": "string",
    "dataCenterId": "string",
    "machineTypeId": "string",
    "machineCount": "integer",
    "commitmentTerm": "string",
    "sshKeySource": "string",
    "customSshKeys": "array",
    "startScript": "string"
}'

    
  
Response
    
    {
  "projectId": "string",
  "id": "string",
  "dataCenterId": "string",
  "machineTypeId": "string",
  "machineCount": "integer",
  "commitmentTerm": "string",
  "commitmentEndTime": "string",
  "sshKeySource": "string",
  "customSshKeys": [
    "string"
  ],
  "startScript": "string",
  "state": "string",
  "architecture": "string",
  "cpuModel": "string",
  "cpuSpeedMhz": "integer",
  "gpuModelId": "string",
  "networkType": "string",
  "totalCpuCores": "integer",
  "totalDiskSizeGib": "integer",
  "totalGpus": "integer",
  "totalMemoryGib": "integer",
  "machinePriceHr": {
    "value": "string"
  },
  "totalMachinePriceHr": {
    "value": "string"
  },
  "totalPriceHr": {
    "value": "string"
  },
  "machines": [
    {
      "projectId": "string",
      "id": "string",
      "dataCenterId": "string",
      "machineTypeId": "string",
      "architecture": "string",
      "cpuCores": "integer",
      "cpuSpeedMhz": "integer",
      "cpuModel": "string",
      "memoryGib": "integer",
      "disks": "integer",
      "diskSizeGib": "integer",
      "gpus": "integer",
      "gpuModelId": "string",
      "externalIpAddress": "string",
      "internalIpAddress": "string",
      "powerState": "string",
      "state": "string",
      "priceHr": {
        "value": "string"
      },
      "createTime": "string",
      "createBy": "string",
      "volumeIds": [
        "string"
      ]
    }
  ],
  "createTime": "string",
  "createBy": "string"
}

    
  

PATCH
/v1/projects/{cluster.projectId}/clusters/{cluster.id}

Update a cluster

Update a cluster in a project

Body attributes

  • Name
    dataCenterId
    Type
    string
    Description
  • Name
    machineTypeId
    Type
    string
    Description
  • Name
    machineCount
    Type
    integer
    Description
  • Name
    commitmentTerm
    Type
    string
    Description
  • Name
    sshKeySource
    Type
    string
    Description
  • Name
    customSshKeys
    Type
    array
    Description
  • Name
    startScript
    Type
    string
    Description

Path attributes

  • Name
    cluster.projectId
    Type
    string
    Description
  • Name
    cluster.id
    Type
    string
    Description
Request
PATCH
/v1/projects/{cluster.projectId}/clusters/{cluster.id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{cluster.projectId}/clusters/{cluster.id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "dataCenterId": "string",
    "machineTypeId": "string",
    "machineCount": "integer",
    "commitmentTerm": "string",
    "sshKeySource": "string",
    "customSshKeys": "array",
    "startScript": "string"
}'

    
  
Response
    
    {
  "projectId": "string",
  "id": "string",
  "dataCenterId": "string",
  "machineTypeId": "string",
  "machineCount": "integer",
  "commitmentTerm": "string",
  "commitmentEndTime": "string",
  "sshKeySource": "string",
  "customSshKeys": [
    "string"
  ],
  "startScript": "string",
  "state": "string",
  "architecture": "string",
  "cpuModel": "string",
  "cpuSpeedMhz": "integer",
  "gpuModelId": "string",
  "networkType": "string",
  "totalCpuCores": "integer",
  "totalDiskSizeGib": "integer",
  "totalGpus": "integer",
  "totalMemoryGib": "integer",
  "machinePriceHr": {
    "value": "string"
  },
  "totalMachinePriceHr": {
    "value": "string"
  },
  "totalPriceHr": {
    "value": "string"
  },
  "machines": [
    {
      "projectId": "string",
      "id": "string",
      "dataCenterId": "string",
      "machineTypeId": "string",
      "architecture": "string",
      "cpuCores": "integer",
      "cpuSpeedMhz": "integer",
      "cpuModel": "string",
      "memoryGib": "integer",
      "disks": "integer",
      "diskSizeGib": "integer",
      "gpus": "integer",
      "gpuModelId": "string",
      "externalIpAddress": "string",
      "internalIpAddress": "string",
      "powerState": "string",
      "state": "string",
      "priceHr": {
        "value": "string"
      },
      "createTime": "string",
      "createBy": "string",
      "volumeIds": [
        "string"
      ]
    }
  ],
  "createTime": "string",
  "createBy": "string"
}

    
  

PATCH
/v1/projects/{clusterMachine.projectId}/cluster-machines/{clusterMachine.id}

Update a cluster machine

Update a machine in a cluster

Body attributes

  • Name
    powerState
    Type
    string
    Description
  • Name
    volumeIds
    Type
    array
    Description

Path attributes

  • Name
    clusterMachine.projectId
    Type
    string
    Description
  • Name
    clusterMachine.id
    Type
    string
    Description
Request
PATCH
/v1/projects/{clusterMachine.projectId}/cluster-machines/{clusterMachine.id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{clusterMachine.projectId}/cluster-machines/{clusterMachine.id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "powerState": "string",
    "volumeIds": "array"
}'

    
  
Response
    
    {
  "projectId": "string",
  "id": "string",
  "dataCenterId": "string",
  "machineTypeId": "string",
  "architecture": "string",
  "cpuCores": "integer",
  "cpuSpeedMhz": "integer",
  "cpuModel": "string",
  "memoryGib": "integer",
  "disks": "integer",
  "diskSizeGib": "integer",
  "gpus": "integer",
  "gpuModelId": "string",
  "externalIpAddress": "string",
  "internalIpAddress": "string",
  "powerState": "string",
  "state": "string",
  "priceHr": {
    "value": "string"
  },
  "createTime": "string",
  "createBy": "string",
  "volumeIds": [
    "string"
  ]
}

    
  

DELETE
/v1/projects/{projectId}/cluster-machines/{id}

Delete a cluster machine

Delete a machine from a cluster

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
DELETE
/v1/projects/{projectId}/cluster-machines/{id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/cluster-machines/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {}

    
  

POST
/v1/projects/{projectId}/cluster-machines/{id}:reboot

Reboot a cluster machine

Reboot a machine in a cluster

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/cluster-machines/{id}:reboot
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/cluster-machines/{id}:reboot' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {}

    
  

GET
/v1/projects/{projectId}/clusters/{id}

Get a cluster

Get the details of a cluster

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/clusters/{id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/clusters/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "projectId": "string",
  "id": "string",
  "dataCenterId": "string",
  "machineTypeId": "string",
  "machineCount": "integer",
  "commitmentTerm": "string",
  "commitmentEndTime": "string",
  "sshKeySource": "string",
  "customSshKeys": [
    "string"
  ],
  "startScript": "string",
  "state": "string",
  "architecture": "string",
  "cpuModel": "string",
  "cpuSpeedMhz": "integer",
  "gpuModelId": "string",
  "networkType": "string",
  "totalCpuCores": "integer",
  "totalDiskSizeGib": "integer",
  "totalGpus": "integer",
  "totalMemoryGib": "integer",
  "machinePriceHr": {
    "value": "string"
  },
  "totalMachinePriceHr": {
    "value": "string"
  },
  "totalPriceHr": {
    "value": "string"
  },
  "machines": [
    {
      "projectId": "string",
      "id": "string",
      "dataCenterId": "string",
      "machineTypeId": "string",
      "architecture": "string",
      "cpuCores": "integer",
      "cpuSpeedMhz": "integer",
      "cpuModel": "string",
      "memoryGib": "integer",
      "disks": "integer",
      "diskSizeGib": "integer",
      "gpus": "integer",
      "gpuModelId": "string",
      "externalIpAddress": "string",
      "internalIpAddress": "string",
      "powerState": "string",
      "state": "string",
      "priceHr": {
        "value": "string"
      },
      "createTime": "string",
      "createBy": "string",
      "volumeIds": [
        "string"
      ]
    }
  ],
  "createTime": "string",
  "createBy": "string"
}

    
  

DELETE
/v1/projects/{projectId}/clusters/{id}

Delete a cluster

Delete a cluster from a project.

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
DELETE
/v1/projects/{projectId}/clusters/{id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/clusters/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {}