Virtual machines

API reference for Virtual machines on CUDO Compute.

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

List virtual machine types for a data center

Path attributes

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

    
  
Response
    
    {
  "virtualMachineTypes": [
    {
      "virtualMachineType": "string",
      "countHosts": "integer",
      "countHostsActive": "integer",
      "countHostsInactive": "integer"
    }
  ]
}

    
  

GET
/v1/data-centers/{dataCenterId}/virtual-machine-types/{virtualMachineType}

Get a virtual machine type in a data center

Path attributes

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

    
  
Response
    
    {
  "dataCenterId": "string",
  "virtualMachineType": "string",
  "cpuModels": [
    "string"
  ],
  "gpuModels": [
    "string"
  ],
  "minVcpuPriceHr": {
    "value": "string"
  },
  "maxVcpuPriceHr": {
    "value": "string"
  },
  "minMemoryGibPriceHr": {
    "value": "string"
  },
  "maxMemoryGibPriceHr": {
    "value": "string"
  },
  "minGpuPriceHr": {
    "value": "string"
  },
  "maxGpuPriceHr": {
    "value": "string"
  },
  "minVcpuPerMemoryGib": "number",
  "maxVcpuPerMemoryGib": "number",
  "minVcpuPerGpu": "number",
  "maxVcpuPerGpu": "number",
  "countHosts": "integer",
  "countHostsActive": "integer",
  "countHostsInactive": "integer",
  "minVcpu": "number",
  "minMemoryGib": "number"
}

    
  

GET
/v1/data-centers/{dataCenterId}/virtual-machine-types/{virtualMachineType}/live-utilization

Get the utilization for a virtual machine type in a data center

Path attributes

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

    
  
Response
    
    {
  "utilization": "number",
  "vcpuUsed": "integer",
  "vcpuFree": "integer",
  "vcpuTotal": "integer",
  "cpuUtilization": "number",
  "memoryGibUsed": "integer",
  "memoryGibFree": "integer",
  "memoryGibTotal": "integer",
  "memoryUtilization": "number",
  "gpuUsed": "integer",
  "gpuFree": "integer",
  "gpuTotal": "integer",
  "gpuUtilization": "number"
}

    
  

GET
/v1/projects/{projectId}/count-vms

Count

Path attributes

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

    
  
Response
    
    {
  "count": "integer"
}

    
  

PATCH
/v1/projects/{projectId}/disk/{id}/attach

Attach disk to VM

Path attributes

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

    
  

PUT
/v1/projects/{projectId}/disk/{id}/detach

Detach disk from VM

Path attributes

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

    
  

POST
/v1/projects/{projectId}/vm

Create virtual machine

Body attributes

  • Name
    dataCenterId
    Type
    string
    Description
  • Name
    machineType
    Type
    string
    Description
  • Name
    vmId
    Type
    string
    Description
  • Name
    startScript
    Type
    string
    Description
  • Name
    sshKeySource
    Type
    string
    Description
  • Name
    customSshKeys
    Type
    array
    Description
  • Name
    password
    Type
    string
    Description
  • Name
    bootDisk
    Type
    object
    Description
  • Name
    bootDiskImageId
    Type
    string
    Description
  • Name
    vcpus
    Type
    integer
    Description
  • Name
    memoryGib
    Type
    integer
    Description
  • Name
    gpus
    Type
    integer
    Description
  • Name
    nics
    Type
    array
    Description
  • Name
    securityGroupIds
    Type
    array
    Description
  • Name
    storageDiskIds
    Type
    array
    Description
  • Name
    metadata
    Type
    object
    Description
  • Name
    topology
    Type
    object
    Description
  • Name
    validateOnly
    Type
    boolean
    Description
  • Name
    expireTime
    Type
    string
    Description
  • Name
    ttl
    Type
    string
    Description
  • Name
    commitmentTerm
    Type
    string
    Description

Path attributes

  • Name
    projectId
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vm
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "dataCenterId": "string",
    "machineType": "string",
    "vmId": "string",
    "startScript": "string",
    "sshKeySource": "string",
    "customSshKeys": "array",
    "password": "string",
    "bootDisk": "object",
    "bootDiskImageId": "string",
    "vcpus": "integer",
    "memoryGib": "integer",
    "gpus": "integer",
    "nics": "array",
    "securityGroupIds": "array",
    "storageDiskIds": "array",
    "metadata": "object",
    "topology": "object",
    "validateOnly": "boolean",
    "expireTime": "string",
    "ttl": "string",
    "commitmentTerm": "string"
}'

    
  
Response
    
    {
  "id": "string",
  "vm": {
    "datacenterId": "string",
    "machineType": "string",
    "id": "string",
    "externalIpAddress": "string",
    "internalIpAddress": "string",
    "publicIpAddress": "string",
    "memory": "integer",
    "cpuModel": "string",
    "vcpus": "integer",
    "gpuModel": "string",
    "gpuModelId": "string",
    "gpuQuantity": "integer",
    "bootDiskSizeGib": "integer",
    "renewableEnergy": "boolean",
    "imageId": "string",
    "publicImageId": "string",
    "publicImageName": "string",
    "privateImageId": "string",
    "imageName": "string",
    "createBy": "string",
    "nics": [
      {
        "networkId": "string",
        "externalIpAddress": "string",
        "internalIpAddress": "string",
        "networkAddress": "string",
        "securityGroupIds": [
          "string"
        ]
      }
    ],
    "rules": [
      {
        "id": "string",
        "protocol": "string",
        "ports": "string",
        "ruleType": "string",
        "ipRangeCidr": "string",
        "icmpType": "string"
      }
    ],
    "securityGroupIds": [
      "string"
    ],
    "shortState": "string",
    "bootDisk": {
      "id": "string",
      "projectId": "string",
      "dataCenterId": "string",
      "vmId": "string",
      "sizeGib": "integer",
      "storageClass": "string",
      "diskType": "string",
      "publicImageId": "string",
      "privateImageId": "string",
      "createTime": "string",
      "diskState": "string"
    },
    "storageDisks": [
      {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      }
    ],
    "metadata": "object",
    "state": "string",
    "createTime": "string",
    "expireTime": "string",
    "price": {
      "vcpuPriceHr": {
        "value": "string"
      },
      "totalVcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "totalMemoryPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "totalGpuPriceHr": {
        "value": "string"
      },
      "storageGibPriceHr": {
        "value": "string"
      },
      "totalStoragePriceHr": {
        "value": "string"
      },
      "ipv4AddressPriceHr": {
        "value": "string"
      },
      "totalPriceHr": {
        "value": "string"
      }
    },
    "commitmentTerm": "string",
    "commitmentEndTime": "string",
    "sshKeySource": "string",
    "authorizedSshKeys": "string",
    "securityGroups": [
      {
        "projectId": "string",
        "dataCenterId": "string",
        "id": "string",
        "description": "string",
        "rules": [
          {
            "id": "string",
            "protocol": "string",
            "ports": "string",
            "ruleType": "string",
            "ipRangeCidr": "string",
            "icmpType": "string"
          }
        ]
      }
    ],
    "projectId": "string"
  }
}

    
  

POST
/v1/projects/{projectId}/vm/{id}/authorized-ssh-keys

Update VM authorized SSH keys

Body attributes

  • Name
    sshKeySource
    Type
    string
    Description
  • Name
    customSshKeys
    Type
    array
    Description

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vm/{id}/authorized-ssh-keys
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm/{id}/authorized-ssh-keys' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "sshKeySource": "string",
    "customSshKeys": "array"
}'

    
  

POST
/v1/projects/{projectId}/vm/{id}/commit

Commit VM for a fixed term,

Body attributes

  • Name
    commitmentTerm
    Type
    string
    Description

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vm/{id}/commit
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm/{id}/commit' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "commitmentTerm": "string"
}'

    
  

POST
/v1/projects/{projectId}/vm/{id}/expire-time

Update VM expire time

Body attributes

  • Name
    expireTime
    Type
    string
    Description
  • Name
    ttl
    Type
    string
    Description

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vm/{id}/expire-time
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm/{id}/expire-time' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "expireTime": "string",
    "ttl": "string"
}'

    
  
Response
    
    {
  "expireTime": "string"
}

    
  

POST
/v1/projects/{projectId}/vm/{id}/metadata

Update VM metadata

Body attributes

  • Name
    metadata
    Type
    object
    Description
  • Name
    merge
    Type
    boolean
    Description

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vm/{id}/metadata
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm/{id}/metadata' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "metadata": "object",
    "merge": "boolean"
}'

    
  
Response
    
    {
  "metadata": "object"
}

    
  

POST
/v1/projects/{projectId}/vm/{id}/password

Update VM password

Body attributes

  • Name
    password
    Type
    string
    Description

Path attributes

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

    
  

PATCH
/v1/projects/{projectId}/vm/{id}/security-group/attach

Attach security group to VM

Path attributes

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

    
  

PATCH
/v1/projects/{projectId}/vm/{id}/security-group/detach

Detach security group from VM

Path attributes

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

    
  

GET
/v1/projects/{projectId}/vms

List

Path attributes

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

    
  
Response
    
    {
  "VMs": [
    {
      "datacenterId": "string",
      "machineType": "string",
      "id": "string",
      "externalIpAddress": "string",
      "internalIpAddress": "string",
      "publicIpAddress": "string",
      "memory": "integer",
      "cpuModel": "string",
      "vcpus": "integer",
      "gpuModel": "string",
      "gpuModelId": "string",
      "gpuQuantity": "integer",
      "bootDiskSizeGib": "integer",
      "renewableEnergy": "boolean",
      "imageId": "string",
      "publicImageId": "string",
      "publicImageName": "string",
      "privateImageId": "string",
      "imageName": "string",
      "createBy": "string",
      "nics": [
        {
          "networkId": "string",
          "externalIpAddress": "string",
          "internalIpAddress": "string",
          "networkAddress": "string",
          "securityGroupIds": [
            "string"
          ]
        }
      ],
      "rules": [
        {
          "id": "string",
          "protocol": "string",
          "ports": "string",
          "ruleType": "string",
          "ipRangeCidr": "string",
          "icmpType": "string"
        }
      ],
      "securityGroupIds": [
        "string"
      ],
      "shortState": "string",
      "bootDisk": {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      },
      "storageDisks": [
        {
          "id": "string",
          "projectId": "string",
          "dataCenterId": "string",
          "vmId": "string",
          "sizeGib": "integer",
          "storageClass": "string",
          "diskType": "string",
          "publicImageId": "string",
          "privateImageId": "string",
          "createTime": "string",
          "diskState": "string"
        }
      ],
      "metadata": "object",
      "state": "string",
      "createTime": "string",
      "expireTime": "string",
      "price": {
        "vcpuPriceHr": {
          "value": "string"
        },
        "totalVcpuPriceHr": {
          "value": "string"
        },
        "memoryGibPriceHr": {
          "value": "string"
        },
        "totalMemoryPriceHr": {
          "value": "string"
        },
        "gpuPriceHr": {
          "value": "string"
        },
        "totalGpuPriceHr": {
          "value": "string"
        },
        "storageGibPriceHr": {
          "value": "string"
        },
        "totalStoragePriceHr": {
          "value": "string"
        },
        "ipv4AddressPriceHr": {
          "value": "string"
        },
        "totalPriceHr": {
          "value": "string"
        }
      },
      "commitmentTerm": "string",
      "commitmentEndTime": "string",
      "sshKeySource": "string",
      "authorizedSshKeys": "string",
      "securityGroups": [
        {
          "projectId": "string",
          "dataCenterId": "string",
          "id": "string",
          "description": "string",
          "rules": [
            {
              "id": "string",
              "protocol": "string",
              "ports": "string",
              "ruleType": "string",
              "ipRangeCidr": "string",
              "icmpType": "string"
            }
          ]
        }
      ],
      "projectId": "string"
    }
  ]
}

    
  

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

Get

Path attributes

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

    
  
Response
    
    {
  "VM": {
    "datacenterId": "string",
    "machineType": "string",
    "id": "string",
    "externalIpAddress": "string",
    "internalIpAddress": "string",
    "publicIpAddress": "string",
    "memory": "integer",
    "cpuModel": "string",
    "vcpus": "integer",
    "gpuModel": "string",
    "gpuModelId": "string",
    "gpuQuantity": "integer",
    "bootDiskSizeGib": "integer",
    "renewableEnergy": "boolean",
    "imageId": "string",
    "publicImageId": "string",
    "publicImageName": "string",
    "privateImageId": "string",
    "imageName": "string",
    "createBy": "string",
    "nics": [
      {
        "networkId": "string",
        "externalIpAddress": "string",
        "internalIpAddress": "string",
        "networkAddress": "string",
        "securityGroupIds": [
          "string"
        ]
      }
    ],
    "rules": [
      {
        "id": "string",
        "protocol": "string",
        "ports": "string",
        "ruleType": "string",
        "ipRangeCidr": "string",
        "icmpType": "string"
      }
    ],
    "securityGroupIds": [
      "string"
    ],
    "shortState": "string",
    "bootDisk": {
      "id": "string",
      "projectId": "string",
      "dataCenterId": "string",
      "vmId": "string",
      "sizeGib": "integer",
      "storageClass": "string",
      "diskType": "string",
      "publicImageId": "string",
      "privateImageId": "string",
      "createTime": "string",
      "diskState": "string"
    },
    "storageDisks": [
      {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      }
    ],
    "metadata": "object",
    "state": "string",
    "createTime": "string",
    "expireTime": "string",
    "price": {
      "vcpuPriceHr": {
        "value": "string"
      },
      "totalVcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "totalMemoryPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "totalGpuPriceHr": {
        "value": "string"
      },
      "storageGibPriceHr": {
        "value": "string"
      },
      "totalStoragePriceHr": {
        "value": "string"
      },
      "ipv4AddressPriceHr": {
        "value": "string"
      },
      "totalPriceHr": {
        "value": "string"
      }
    },
    "commitmentTerm": "string",
    "commitmentEndTime": "string",
    "sshKeySource": "string",
    "authorizedSshKeys": "string",
    "securityGroups": [
      {
        "projectId": "string",
        "dataCenterId": "string",
        "id": "string",
        "description": "string",
        "rules": [
          {
            "id": "string",
            "protocol": "string",
            "ports": "string",
            "ruleType": "string",
            "ipRangeCidr": "string",
            "icmpType": "string"
          }
        ]
      }
    ],
    "projectId": "string"
  },
  "vcpuPriceHr": {
    "value": "string"
  },
  "totalVcpuPriceHr": {
    "value": "string"
  },
  "memoryGibPriceHr": {
    "value": "string"
  },
  "totalMemoryPriceHr": {
    "value": "string"
  },
  "gpuPriceHr": {
    "value": "string"
  },
  "totalGpuPriceHr": {
    "value": "string"
  },
  "storageGibPriceHr": {
    "value": "string"
  },
  "totalStoragePriceHr": {
    "value": "string"
  },
  "ipv4PriceHr": {
    "value": "string"
  },
  "totalPriceHr": {
    "value": "string"
  }
}

    
  

GET
/v1/projects/{projectId}/vms/{id}/connect

Connect via VNC

Path attributes

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

    
  
Response
    
    {
  "connectUrl": "string",
  "token": "string"
}

    
  

GET
/v1/projects/{projectId}/vms/{id}/monitor

Monitor

Path attributes

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

    
  
Response
    
    {
  "items": [
    {
      "cpu": "number",
      "diskRdBytes": "string",
      "diskRdIops": "string",
      "diskWrBytes": "string",
      "diskWrIops": "string",
      "memory": "string",
      "netRx": "string",
      "netTx": "string",
      "timestamp": "string",
      "guestPing": "string"
    }
  ]
}

    
  

POST
/v1/projects/{projectId}/vms/{id}/reboot

Reboot

Path attributes

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

    
  

POST
/v1/projects/{projectId}/vms/{id}/resize

Resize vCPU and memory of VM

Path attributes

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

    
  
Response
    
    {
  "vm": {
    "datacenterId": "string",
    "machineType": "string",
    "id": "string",
    "externalIpAddress": "string",
    "internalIpAddress": "string",
    "publicIpAddress": "string",
    "memory": "integer",
    "cpuModel": "string",
    "vcpus": "integer",
    "gpuModel": "string",
    "gpuModelId": "string",
    "gpuQuantity": "integer",
    "bootDiskSizeGib": "integer",
    "renewableEnergy": "boolean",
    "imageId": "string",
    "publicImageId": "string",
    "publicImageName": "string",
    "privateImageId": "string",
    "imageName": "string",
    "createBy": "string",
    "nics": [
      {
        "networkId": "string",
        "externalIpAddress": "string",
        "internalIpAddress": "string",
        "networkAddress": "string",
        "securityGroupIds": [
          "string"
        ]
      }
    ],
    "rules": [
      {
        "id": "string",
        "protocol": "string",
        "ports": "string",
        "ruleType": "string",
        "ipRangeCidr": "string",
        "icmpType": "string"
      }
    ],
    "securityGroupIds": [
      "string"
    ],
    "shortState": "string",
    "bootDisk": {
      "id": "string",
      "projectId": "string",
      "dataCenterId": "string",
      "vmId": "string",
      "sizeGib": "integer",
      "storageClass": "string",
      "diskType": "string",
      "publicImageId": "string",
      "privateImageId": "string",
      "createTime": "string",
      "diskState": "string"
    },
    "storageDisks": [
      {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      }
    ],
    "metadata": "object",
    "state": "string",
    "createTime": "string",
    "expireTime": "string",
    "price": {
      "vcpuPriceHr": {
        "value": "string"
      },
      "totalVcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "totalMemoryPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "totalGpuPriceHr": {
        "value": "string"
      },
      "storageGibPriceHr": {
        "value": "string"
      },
      "totalStoragePriceHr": {
        "value": "string"
      },
      "ipv4AddressPriceHr": {
        "value": "string"
      },
      "totalPriceHr": {
        "value": "string"
      }
    },
    "commitmentTerm": "string",
    "commitmentEndTime": "string",
    "sshKeySource": "string",
    "authorizedSshKeys": "string",
    "securityGroups": [
      {
        "projectId": "string",
        "dataCenterId": "string",
        "id": "string",
        "description": "string",
        "rules": [
          {
            "id": "string",
            "protocol": "string",
            "ports": "string",
            "ruleType": "string",
            "ipRangeCidr": "string",
            "icmpType": "string"
          }
        ]
      }
    ],
    "projectId": "string"
  }
}

    
  

POST
/v1/projects/{projectId}/vms/{id}/start

Start

Path attributes

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

    
  

POST
/v1/projects/{projectId}/vms/{id}/stop

Stop

Path attributes

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

    
  

POST
/v1/projects/{projectId}/vms/{id}/terminate

Terminate

Path attributes

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

    
  

GET
/v1/vms/data-centers

List data centers

Request
GET
/v1/vms/data-centers
    
    curl 'https://rest.compute.cudo.org/v1/vms/data-centers' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "dataCenters": [
    {
      "id": "string",
      "supplierName": "string",
      "renewableEnergy": "boolean",
      "diskPoolPricing": [
        {
          "storageClass": "string",
          "diskGibPriceHr": {
            "value": "string"
          }
        }
      ],
      "networkPricing": [
        {
          "priceHr": {
            "value": "string"
          }
        }
      ],
      "networkPriceHr": {
        "value": "string"
      },
      "ipv4PriceHr": {
        "value": "string"
      },
      "ipv4Free": "integer",
      "s3Endpoint": "string",
      "location": {
        "latitude": "number",
        "longitude": "number"
      },
      "objectStorageGibPriceHr": {
        "value": "string"
      }
    }
  ]
}

    
  

GET
/v1/vms/data-centers/{dataCenterId}/machine_types/{machineTypeId}

Get machine type

Path attributes

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

    
  
Response
    
    {
  "dataCenterId": "string",
  "machineType": "string",
  "cpuModel": "string",
  "gpuModel": "string",
  "gpuModelId": "string",
  "minVcpuPerMemoryGib": "number",
  "maxVcpuPerMemoryGib": "number",
  "minVcpuPerGpu": "number",
  "maxVcpuPerGpu": "number",
  "vcpuPriceHr": {
    "value": "string"
  },
  "memoryGibPriceHr": {
    "value": "string"
  },
  "gpuPriceHr": {
    "value": "string"
  },
  "minStorageGibPriceHr": {
    "value": "string"
  },
  "ipv4PriceHr": {
    "value": "string"
  },
  "renewableEnergy": "boolean",
  "maxVcpuFree": "integer",
  "totalVcpuFree": "integer",
  "maxMemoryGibFree": "integer",
  "totalMemoryGibFree": "integer",
  "maxGpuFree": "integer",
  "totalGpuFree": "integer",
  "maxStorageGibFree": "integer",
  "totalStorageGibFree": "integer",
  "minVcpu": "number",
  "minMemoryGib": "number",
  "prices": [
    {
      "vcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "commitmentTerm": "string"
    }
  ]
}

    
  

GET
/v1/vms/gpu-models

List GPU models

Request
GET
/v1/vms/gpu-models
    
    curl 'https://rest.compute.cudo.org/v1/vms/gpu-models' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "gpuModels": [
    {
      "id": "string",
      "vendorName": "string",
      "modelName": "string",
      "memoryGib": "integer"
    }
  ]
}

    
  

GET
/v1/vms/machine-types

List machine types

Path attributes

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

    
  
Response
    
    {
  "machineTypes": [
    {
      "dataCenterId": "string",
      "machineType": "string",
      "cpuModel": "string",
      "gpuModel": "string",
      "gpuModelId": "string",
      "minVcpuPerMemoryGib": "number",
      "maxVcpuPerMemoryGib": "number",
      "minVcpuPerGpu": "number",
      "maxVcpuPerGpu": "number",
      "vcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "minStorageGibPriceHr": {
        "value": "string"
      },
      "ipv4PriceHr": {
        "value": "string"
      },
      "renewableEnergy": "boolean",
      "maxVcpuFree": "integer",
      "totalVcpuFree": "integer",
      "maxMemoryGibFree": "integer",
      "totalMemoryGibFree": "integer",
      "maxGpuFree": "integer",
      "totalGpuFree": "integer",
      "maxStorageGibFree": "integer",
      "totalStorageGibFree": "integer",
      "minVcpu": "number",
      "minMemoryGib": "number",
      "prices": [
        {
          "vcpuPriceHr": {
            "value": "string"
          },
          "memoryGibPriceHr": {
            "value": "string"
          },
          "gpuPriceHr": {
            "value": "string"
          },
          "commitmentTerm": "string"
        }
      ]
    }
  ]
}

    
  

GET
/v1/vms/machine-types-2

List machine types 2

Path attributes

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

    
  
Response
    
    {
  "machineTypes": [
    {
      "dataCenterId": "string",
      "machineType": "string",
      "cpuModel": "string",
      "gpuModel": "string",
      "gpuModelId": "string",
      "minVcpuPerMemoryGib": "number",
      "maxVcpuPerMemoryGib": "number",
      "minVcpuPerGpu": "number",
      "maxVcpuPerGpu": "number",
      "vcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "minStorageGibPriceHr": {
        "value": "string"
      },
      "ipv4PriceHr": {
        "value": "string"
      },
      "renewableEnergy": "boolean",
      "maxVcpuFree": "integer",
      "totalVcpuFree": "integer",
      "maxMemoryGibFree": "integer",
      "totalMemoryGibFree": "integer",
      "maxGpuFree": "integer",
      "totalGpuFree": "integer",
      "maxStorageGibFree": "integer",
      "totalStorageGibFree": "integer",
      "minVcpu": "number",
      "minMemoryGib": "number",
      "prices": [
        {
          "vcpuPriceHr": {
            "value": "string"
          },
          "memoryGibPriceHr": {
            "value": "string"
          },
          "gpuPriceHr": {
            "value": "string"
          },
          "commitmentTerm": "string"
        }
      ]
    }
  ]
}

    
  

GET
/v1/vms/public-images

List public VM images

Request
GET
/v1/vms/public-images
    
    curl 'https://rest.compute.cudo.org/v1/vms/public-images' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "images": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "displayName": "string",
      "platform": "string",
      "sizeGib": "integer",
      "installedPackages": [
        {
          "name": "string",
          "description": "string",
          "version": "string"
        }
      ]
    }
  ]
}