Virtual machines
API reference for Virtual machines on CUDO Compute.
Reference
GET
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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"
}
]
}
]
}