Skip to main content
POST
/
v1
/
projects
/
{projectId}
/
vm
Create a virtual machine
curl --request POST \
  --url https://rest.compute.cudo.org/v1/projects/{projectId}/vm \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "bootDiskImageId": "<string>",
  "dataCenterId": "<string>",
  "gpus": 123,
  "machineType": "<string>",
  "memoryGib": 123,
  "vcpus": 123,
  "vmId": "<string>",
  "bootDiskSizeGib": 123,
  "commitmentTerm": "COMMITMENT_TERM_NONE",
  "customSshKeys": [
    "<string>"
  ],
  "expireTime": "2023-11-07T05:31:56Z",
  "metadata": {},
  "nics": [
    {
      "assignPublicIp": true,
      "networkId": "<string>",
      "securityGroupIds": [
        "<string>"
      ]
    }
  ],
  "password": "<string>",
  "securityGroupIds": [
    "<string>"
  ],
  "sshKeySource": "SSH_KEY_SOURCE_UNKNOWN",
  "startScript": "<string>",
  "storageDiskIds": [
    "<string>"
  ],
  "topology": {
    "cores": 123,
    "sockets": 123,
    "threads": 123
  },
  "ttl": "<string>",
  "validateOnly": true
}
'
{
  "id": "<string>"
}

Authorizations

Authorization
string
header
required

API key authentication. API keys should be passed using the format Bearer API_KEY.

Path Parameters

projectId
string
required

Body

application/json
bootDiskImageId
string
required
dataCenterId
string
required
gpus
integer<int32>
required
machineType
string
required
memoryGib
integer<int32>
required
vcpus
integer<int32>
required
vmId
string
required
bootDisk
BootDisk · object
deprecated

DEPRECATED: use bootDiskSizeGib on CreateVMBody instead

bootDiskSizeGib
integer<int32>
commitmentTerm
enum<string>
default:COMMITMENT_TERM_NONE
Available options:
COMMITMENT_TERM_NONE,
COMMITMENT_TERM_1_MONTH,
COMMITMENT_TERM_3_MONTHS,
COMMITMENT_TERM_6_MONTHS,
COMMITMENT_TERM_12_MONTHS,
COMMITMENT_TERM_24_MONTHS,
COMMITMENT_TERM_36_MONTHS,
COMMITMENT_TERM_60_MONTHS
customSshKeys
string[]
expireTime
string<date-time>
metadata
object
nics
object[]
password
string
securityGroupIds
string[]
sshKeySource
enum<string>
default:SSH_KEY_SOURCE_UNKNOWN
Available options:
SSH_KEY_SOURCE_UNKNOWN,
SSH_KEY_SOURCE_PROJECT,
SSH_KEY_SOURCE_USER,
SSH_KEY_SOURCE_NONE
startScript
string
storageDiskIds
string[]
topology
object
ttl
string
validateOnly
boolean

Response

A successful response.

id
string
required
vm
object