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 '{
  "bootDisk": {
    "sizeGib": 123
  },
  "bootDiskImageId": "<string>",
  "bootDiskSizeGib": 123,
  "commitmentTerm": "COMMITMENT_TERM_NONE",
  "customSshKeys": [
    "<string>"
  ],
  "dataCenterId": "<string>",
  "expireTime": "2023-11-07T05:31:56Z",
  "gpus": 123,
  "machineType": "<string>",
  "memoryGib": 123,
  "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,
  "vcpus": 123,
  "vmId": "<string>"
}'
{
  "id": "<string>",
  "vm": {
    "authorizedSshKeys": "<string>",
    "bootDisk": {
      "createTime": "2023-11-07T05:31:56Z",
      "dataCenterId": "<string>",
      "diskState": "UNKNOWN",
      "diskType": "DISK_TYPE_UNKNOWN",
      "id": "<string>",
      "privateImageId": "<string>",
      "projectId": "<string>",
      "publicImageId": "<string>",
      "sizeGib": 123,
      "vmId": "<string>"
    },
    "bootDiskSizeGib": 123,
    "commitmentEndTime": "2023-11-07T05:31:56Z",
    "commitmentTerm": "COMMITMENT_TERM_NONE",
    "cpuModel": "<string>",
    "createBy": "<string>",
    "createTime": "2023-11-07T05:31:56Z",
    "datacenterId": "<string>",
    "expireTime": "2023-11-07T05:31:56Z",
    "externalIpAddress": "<string>",
    "gpuModel": "<string>",
    "gpuModelId": "<string>",
    "gpuQuantity": 123,
    "id": "<string>",
    "imageId": "<string>",
    "imageName": "<string>",
    "internalIpAddress": "<string>",
    "machineType": "<string>",
    "memory": 123,
    "metadata": {},
    "nics": [
      {
        "externalIpAddress": "<string>",
        "internalIpAddress": "<string>",
        "networkAddress": "<string>",
        "networkId": "<string>",
        "securityGroupIds": [
          "<string>"
        ]
      }
    ],
    "price": {
      "gpuPriceHr": {
        "value": "<string>"
      },
      "ipv4AddressPriceHr": {
        "value": "<string>"
      },
      "memoryGibPriceHr": {
        "value": "<string>"
      },
      "storageGibPriceHr": {
        "value": "<string>"
      },
      "totalGpuPriceHr": {
        "value": "<string>"
      },
      "totalMemoryPriceHr": {
        "value": "<string>"
      },
      "totalPriceHr": {
        "value": "<string>"
      },
      "totalStoragePriceHr": {
        "value": "<string>"
      },
      "totalVcpuPriceHr": {
        "value": "<string>"
      },
      "vcpuPriceHr": {
        "value": "<string>"
      }
    },
    "privateImageId": "<string>",
    "projectId": "<string>",
    "publicImageId": "<string>",
    "publicImageName": "<string>",
    "publicIpAddress": "<string>",
    "renewableEnergy": true,
    "rules": [
      {
        "icmpType": "<string>",
        "id": "<string>",
        "ipRangeCidr": "<string>",
        "ports": "<string>",
        "protocol": "PROTOCOL_UNKNOWN",
        "ruleType": "RULE_TYPE_UNKNOWN"
      }
    ],
    "securityGroupIds": [
      "<string>"
    ],
    "securityGroups": [
      {
        "dataCenterId": "<string>",
        "description": "<string>",
        "id": "<string>",
        "projectId": "<string>",
        "rules": [
          {
            "icmpType": "<string>",
            "id": "<string>",
            "ipRangeCidr": "<string>",
            "ports": "<string>",
            "protocol": "PROTOCOL_UNKNOWN",
            "ruleType": "RULE_TYPE_UNKNOWN"
          }
        ]
      }
    ],
    "shortState": "<string>",
    "sshKeySource": "SSH_KEY_SOURCE_UNKNOWN",
    "state": "CLONING",
    "storageDisks": [
      {
        "createTime": "2023-11-07T05:31:56Z",
        "dataCenterId": "<string>",
        "diskState": "UNKNOWN",
        "diskType": "DISK_TYPE_UNKNOWN",
        "id": "<string>",
        "privateImageId": "<string>",
        "projectId": "<string>",
        "publicImageId": "<string>",
        "sizeGib": 123,
        "vmId": "<string>"
      }
    ],
    "vcpus": 123
  }
}

Authorizations

Authorization
string
header
required

Bearer HTTP authentication. Allowed headers-- Authorization: Bearer <api_key>

Path Parameters

projectId
string
required

Body

application/json
bootDiskImageId
string
required
dataCenterId
string
required
gpus
integer
required
machineType
string
required
memoryGib
integer
required
vcpus
integer
required
vmId
string
required
bootDisk
object

DEPRECATED: use bootDiskSizeGib on CreateVMBody instead

bootDiskSizeGib
integer
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