Bare Metal
API reference for Bare Metal on CUDO Compute.
Reference
GET
List machine types
List machine types that can be ordered
Path attributes
- Name
pageNumber
- Type
- integer
- Description
- Name
pageSize
- Type
- integer
- Description
Request
GET
/v1/machines-types
curl 'https://rest.compute.cudo.org/v1/machines-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"
}
}
],
"available": "boolean"
}
],
"totalCount": "integer",
"pageNumber": "integer",
"pageSize": "integer"
}
GET
List operating systems
List operating systems that can be deployed to machine instances
Request
GET
/v1/machines/operating-systems
curl 'https://rest.compute.cudo.org/v1/machines/operating-systems' \
-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"
}
]
}
]
}
POST
Create a machine instance
Order a machine for a project
Body attributes
- Name
id
- Type
- string
- Description
- Name
dataCenterId
- Type
- string
- Description
- Name
machineTypeId
- Type
- string
- Description
- Name
powerState
- Type
- string
- Description
- Name
commitmentTerm
- Type
- string
- Description
- Name
os
- Type
- string
- Description
- Name
userData
- Type
- string
- Description
Path attributes
- Name
machineInstance.projectId
- Type
- string
- Description
Request
POST
/v1/projects/{machineInstance.projectId}/machine-instances
curl 'https://rest.compute.cudo.org/v1/projects/{machineInstance.projectId}/machine-instances' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"id": "string",
"dataCenterId": "string",
"machineTypeId": "string",
"powerState": "string",
"commitmentTerm": "string",
"os": "string",
"userData": "string"
}'
Response
{
"projectId": "string",
"id": "string",
"dataCenterId": "string",
"machineTypeId": "string",
"machine": {
"dataCenterId": "string",
"id": "string",
"machineTypeId": "string",
"architecture": "string",
"cpuCores": "integer",
"cpuSpeedMhz": "integer",
"cpuModel": "string",
"memoryGib": "integer",
"disks": "integer",
"diskSizeGib": "integer",
"gpus": "integer",
"gpuModelId": "string",
"state": "string",
"powerState": "string",
"os": "string",
"hostname": "string",
"externalIpAddresses": [
"string"
],
"installationOutput": "string"
},
"createTime": "string",
"createBy": "string",
"powerState": "string",
"commitmentTerm": "string",
"priceHr": {
"value": "string"
},
"ipv4Addresses": "integer",
"ipv4PriceHr": {
"value": "string"
},
"totalPriceHr": {
"value": "string"
},
"os": "string",
"userData": "string"
}
PATCH
Update a machine instance
Update a machine instance in a project
Body attributes
- Name
dataCenterId
- Type
- string
- Description
- Name
machineTypeId
- Type
- string
- Description
- Name
powerState
- Type
- string
- Description
- Name
commitmentTerm
- Type
- string
- Description
- Name
os
- Type
- string
- Description
- Name
userData
- Type
- string
- Description
Path attributes
- Name
machineInstance.projectId
- Type
- string
- Description
- Name
machineInstance.id
- Type
- string
- Description
Request
PATCH
/v1/projects/{machineInstance.projectId}/machine-instances/{machineInstance.id}
curl 'https://rest.compute.cudo.org/v1/projects/{machineInstance.projectId}/machine-instances/{machineInstance.id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"dataCenterId": "string",
"machineTypeId": "string",
"powerState": "string",
"commitmentTerm": "string",
"os": "string",
"userData": "string"
}'
Response
{
"projectId": "string",
"id": "string",
"dataCenterId": "string",
"machineTypeId": "string",
"machine": {
"dataCenterId": "string",
"id": "string",
"machineTypeId": "string",
"architecture": "string",
"cpuCores": "integer",
"cpuSpeedMhz": "integer",
"cpuModel": "string",
"memoryGib": "integer",
"disks": "integer",
"diskSizeGib": "integer",
"gpus": "integer",
"gpuModelId": "string",
"state": "string",
"powerState": "string",
"os": "string",
"hostname": "string",
"externalIpAddresses": [
"string"
],
"installationOutput": "string"
},
"createTime": "string",
"createBy": "string",
"powerState": "string",
"commitmentTerm": "string",
"priceHr": {
"value": "string"
},
"ipv4Addresses": "integer",
"ipv4PriceHr": {
"value": "string"
},
"totalPriceHr": {
"value": "string"
},
"os": "string",
"userData": "string"
}
GET
List machine instances
List machine instances in a project
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
pageNumber
- Type
- integer
- Description
- Name
pageSize
- Type
- integer
- Description
Request
GET
/v1/projects/{projectId}/machine-instances
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machine-instances' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{
"machineInstances": [
{
"projectId": "string",
"id": "string",
"dataCenterId": "string",
"machineTypeId": "string",
"machine": {
"dataCenterId": "string",
"id": "string",
"machineTypeId": "string",
"architecture": "string",
"cpuCores": "integer",
"cpuSpeedMhz": "integer",
"cpuModel": "string",
"memoryGib": "integer",
"disks": "integer",
"diskSizeGib": "integer",
"gpus": "integer",
"gpuModelId": "string",
"state": "string",
"powerState": "string",
"os": "string",
"hostname": "string",
"externalIpAddresses": [
"string"
],
"installationOutput": "string"
},
"createTime": "string",
"createBy": "string",
"powerState": "string",
"commitmentTerm": "string",
"priceHr": {
"value": "string"
},
"ipv4Addresses": "integer",
"ipv4PriceHr": {
"value": "string"
},
"totalPriceHr": {
"value": "string"
},
"os": "string",
"userData": "string"
}
],
"totalCount": "integer",
"pageNumber": "integer",
"pageSize": "integer"
}
GET
Get a machine instance
Get the details of a machine instance
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
id
- Type
- string
- Description
Request
GET
/v1/projects/{projectId}/machine-instances/{id}
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machine-instances/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{
"projectId": "string",
"id": "string",
"dataCenterId": "string",
"machineTypeId": "string",
"machine": {
"dataCenterId": "string",
"id": "string",
"machineTypeId": "string",
"architecture": "string",
"cpuCores": "integer",
"cpuSpeedMhz": "integer",
"cpuModel": "string",
"memoryGib": "integer",
"disks": "integer",
"diskSizeGib": "integer",
"gpus": "integer",
"gpuModelId": "string",
"state": "string",
"powerState": "string",
"os": "string",
"hostname": "string",
"externalIpAddresses": [
"string"
],
"installationOutput": "string"
},
"createTime": "string",
"createBy": "string",
"powerState": "string",
"commitmentTerm": "string",
"priceHr": {
"value": "string"
},
"ipv4Addresses": "integer",
"ipv4PriceHr": {
"value": "string"
},
"totalPriceHr": {
"value": "string"
},
"os": "string",
"userData": "string"
}
DELETE
Delete a machine instance
Delete a machine instance from a project. Machine instances that are still within a commitment term cannot be deleted.
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
id
- Type
- string
- Description
Request
DELETE
/v1/projects/{projectId}/machine-instances/{id}
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machine-instances/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{}
POST
Deploy operating system
Deploy an operating system onto a machine instance
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
id
- Type
- string
- Description
- Name
os
- Type
- string
- Description
- Name
userData
- Type
- string
- Description
Request
POST
/v1/projects/{projectId}/machines/{id}/deploy
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machines/{id}/deploy' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{}
POST
Erase machine instance disks
Erase all disks in a machine instance
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
id
- Type
- string
- Description
Request
POST
/v1/projects/{projectId}/machines/{id}/erase
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machines/{id}/erase' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{}
POST
Power off a machine instance
Power off a machine instance in a project
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
id
- Type
- string
- Description
- Name
force
- Type
- boolean
- Description
Request
POST
/v1/projects/{projectId}/machines/{id}/power-off
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machines/{id}/power-off' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{}
POST
Power on a machine instance
Power on a machine instance in a project
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
id
- Type
- string
- Description
- Name
userData
- Type
- string
- Description
Request
POST
/v1/projects/{projectId}/machines/{id}/power-on
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machines/{id}/power-on' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{}
POST
Release machine
Releases a machine instance allowing subsequent deployment of a new OS
Path attributes
- Name
projectId
- Type
- string
- Description
- Name
id
- Type
- string
- Description
Request
POST
/v1/projects/{projectId}/machines/{id}/undeploy
curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/machines/{id}/undeploy' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'
Response
{}