Instance
Instances are the virtual machines at the core of the Exoscale Compute service.
create-instance
Create a Compute instance
POST /instanceRequest body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
disk-size | integer | yes | Instance disk size in GiB |
instance-type | object | yes | Compute instance type schema details |
template | object | yes | Instance template schema details |
anti-affinity-groups | array[object] | no | Instance Anti-affinity Groups schema details |
application-consistent-snapshot-enabled | boolean | no | Enable application-consistent snapshot for the instance |
auto-start | boolean | no | Start Instance on creation (default: true) |
deploy-target | object | no | Deploy target schema details |
ipv6-enabled | boolean | no | Enable IPv6. DEPRECATED: use public-ip-assignments. |
labels | object | no | Resource labels |
name | string | no | Instance name |
public-ip-assignment | string | no | Assign public IP to the Instance Allowed values: inet4, dual, none. |
secureboot-enabled | boolean | no | Enable secure boot |
security-groups | array[object] | no | Instance Security Groups schema details |
ssh-key | object | no | SSH key schema details |
ssh-keys | array[object] | no | Instance SSH Keys schema details |
tpm-enabled | boolean | no | Enable Trusted Platform Module (TPM) |
user-data | string | no | Instance Cloud-init user-data (base64 encoded) |
Example
{
"anti-affinity-groups": [
{
"description": "string",
"id": "string",
"instances": [
{
"anti-affinity-groups": [
null
],
"application-consistent-snapshot-enabled": true,
"created-at": "2024-01-01T12:00:00Z",
"deploy-target": {
"description": null,
"id": null,
"name": null,
"type": null
},
"disk-size": 0,
"elastic-ips": [
null
],
"id": "string",
"instance-type": {
"authorized": null,
"cpus": null,
"family": null,
"gpus": null,
"id": null,
"memory": null,
"size": null,
"zones": null
},
"ipv6-address": "string",
"labels": {},
"mac-address": "string",
"manager": {
"id": null,
"type": null
},
"name": "string",
"private-networks": [
null
],
"public-ip": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
null
],
"snapshots": [
null
],
"ssh-key": {
"fingerprint": null,
"name": null
},
"ssh-keys": [
null
],
"state": "expunging",
"template": {
"application-consistent-snapshot-enabled": null,
"boot-mode": null,
"build": null,
"checksum": null,
"created-at": null,
"default-user": null,
"description": null,
"family": null,
"id": null,
"maintainer": null,
"name": null,
"password-enabled": null,
"size": null,
"ssh-key-enabled": null,
"url": null,
"version": null,
"visibility": null,
"zones": null
},
"tpm-enabled": true,
"user-data": "string"
}
],
"name": "string"
}
],
"application-consistent-snapshot-enabled": true,
"auto-start": true,
"deploy-target": {
"description": "string",
"id": "string",
"name": "string",
"type": "edge"
},
"disk-size": 0,
"instance-type": {
"authorized": true,
"cpus": 0,
"family": "gpu3",
"gpus": 0,
"id": "string",
"memory": 0,
"size": "large",
"zones": [
"ch-dk-2"
]
},
"ipv6-enabled": true,
"labels": {},
"name": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
{
"description": "string",
"external-sources": [
"string"
],
"id": "string",
"name": "string",
"rules": [
{
"description": "string",
"end-port": 0,
"flow-direction": "ingress",
"icmp": {
"code": null,
"type": null
},
"id": "string",
"network": "string",
"protocol": "tcp",
"security-group": {
"id": null,
"name": null,
"visibility": null
},
"start-port": 0
}
]
}
],
"ssh-key": {
"fingerprint": "string",
"name": "string"
},
"ssh-keys": [
{
"fingerprint": "string",
"name": "string"
}
],
"template": {
"application-consistent-snapshot-enabled": true,
"boot-mode": "legacy",
"build": "string",
"checksum": "string",
"created-at": "2024-01-01T12:00:00Z",
"default-user": "string",
"description": "string",
"family": "string",
"id": "string",
"maintainer": "string",
"name": "string",
"password-enabled": true,
"size": 0,
"ssh-key-enabled": true,
"url": "string",
"version": "string",
"visibility": "private",
"zones": [
"ch-dk-2"
]
},
"tpm-enabled": true,
"user-data": "string"
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for create-instance: golang | Python | Java
CLI: exo api create-instance
get-instance
Retrieve Compute instance details
GET /instance/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
anti-affinity-groups | array[object] | Instance Anti-affinity Groups schema details |
application-consistent-snapshot-enabled | boolean | Indicates if the instance will take application-consistent snapshots |
created-at | string | Instance creation date |
deploy-target | object | Deploy target schema details |
disk-size | integer | Instance disk size in GiB |
elastic-ips | array[object] | Instance Elastic IPs schema details |
id | string | Instance ID |
instance-type | object | Compute instance type schema details |
ipv6-address | string | Instance IPv6 address |
labels | object | Resource labels |
mac-address | string | Instance MAC address |
manager | object | Resource manager schema details |
name | string | Instance name |
private-networks | array[object] | Instance Private Networks schema details |
public-ip | string | Instance public IPv4 address |
public-ip-assignment | string | Instance public IP assignment Allowed values: inet4, dual, none. |
secureboot-enabled | boolean | Indicates if the instance has secure boot enabled |
security-groups | array[object] | Instance Security Groups schema details |
snapshots | array[object] | Instance Snapshots schema details |
ssh-key | object | SSH key schema details |
ssh-keys | array[object] | Instance SSH Keys schema details |
state | string | Instance state Allowed values: expunging, starting, destroying, running, stopping, stopped, migrating, error, destroyed. |
template | object | Instance template schema details |
tpm-enabled | boolean | Indicates if the instance has tpm enabled |
user-data | string | Instance Cloud-init user-data (base64 encoded) |
Example output
{
"anti-affinity-groups": [
{
"description": "string",
"id": "string",
"instances": [
{
"anti-affinity-groups": [
null
],
"application-consistent-snapshot-enabled": true,
"created-at": "2024-01-01T12:00:00Z",
"deploy-target": {
"description": null,
"id": null,
"name": null,
"type": null
},
"disk-size": 0,
"elastic-ips": [
null
],
"id": "string",
"instance-type": {
"authorized": null,
"cpus": null,
"family": null,
"gpus": null,
"id": null,
"memory": null,
"size": null,
"zones": null
},
"ipv6-address": "string",
"labels": {},
"mac-address": "string",
"manager": {
"id": null,
"type": null
},
"name": "string",
"private-networks": [
null
],
"public-ip": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
null
],
"snapshots": [
null
],
"ssh-key": {
"fingerprint": null,
"name": null
},
"ssh-keys": [
null
],
"state": "expunging",
"template": {
"application-consistent-snapshot-enabled": null,
"boot-mode": null,
"build": null,
"checksum": null,
"created-at": null,
"default-user": null,
"description": null,
"family": null,
"id": null,
"maintainer": null,
"name": null,
"password-enabled": null,
"size": null,
"ssh-key-enabled": null,
"url": null,
"version": null,
"visibility": null,
"zones": null
},
"tpm-enabled": true,
"user-data": "string"
}
],
"name": "string"
}
],
"application-consistent-snapshot-enabled": true,
"created-at": "2024-01-01T12:00:00Z",
"deploy-target": {
"description": "string",
"id": "string",
"name": "string",
"type": "edge"
},
"disk-size": 0,
"elastic-ips": [
{
"addressfamily": "inet4",
"cidr": "string",
"description": "string",
"healthcheck": {
"interval": 0,
"mode": "tcp",
"port": 0,
"strikes-fail": 0,
"strikes-ok": 0,
"timeout": 0,
"tls-skip-verify": true,
"tls-sni": "string",
"uri": "string"
},
"id": "string",
"ip": "string",
"labels": {}
}
],
"id": "string",
"instance-type": {
"authorized": true,
"cpus": 0,
"family": "gpu3",
"gpus": 0,
"id": "string",
"memory": 0,
"size": "large",
"zones": [
"ch-dk-2"
]
},
"ipv6-address": "string",
"labels": {},
"mac-address": "string",
"manager": {
"id": "string",
"type": "sks-nodepool"
},
"name": "string",
"private-networks": [
{
"id": "string",
"mac-address": "string"
}
],
"public-ip": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
{
"description": "string",
"external-sources": [
"string"
],
"id": "string",
"name": "string",
"rules": [
{
"description": "string",
"end-port": 0,
"flow-direction": "ingress",
"icmp": {
"code": null,
"type": null
},
"id": "string",
"network": "string",
"protocol": "tcp",
"security-group": {
"id": null,
"name": null,
"visibility": null
},
"start-port": 0
}
]
}
],
"snapshots": [
{
"application-consistent": true,
"created-at": "2024-01-01T12:00:00Z",
"export": {
"md5sum": "string",
"presigned-url": "string"
},
"id": "string",
"instance": {
"anti-affinity-groups": [
{
"description": null,
"id": null,
"instances": null,
"name": null
}
],
"application-consistent-snapshot-enabled": true,
"created-at": "2024-01-01T12:00:00Z",
"deploy-target": {
"description": "string",
"id": "string",
"name": "string",
"type": "edge"
},
"disk-size": 0,
"elastic-ips": [
{
"addressfamily": null,
"cidr": null,
"description": null,
"healthcheck": null,
"id": null,
"ip": null,
"labels": null
}
],
"id": "string",
"instance-type": {
"authorized": true,
"cpus": 0,
"family": "gpu3",
"gpus": 0,
"id": "string",
"memory": 0,
"size": "large",
"zones": [
null
]
},
"ipv6-address": "string",
"labels": {},
"mac-address": "string",
"manager": {
"id": "string",
"type": "sks-nodepool"
},
"name": "string",
"private-networks": [
{
"id": null,
"mac-address": null
}
],
"public-ip": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
{
"description": null,
"external-sources": null,
"id": null,
"name": null,
"rules": null
}
],
"snapshots": [
{
"application-consistent": null,
"created-at": null,
"export": null,
"id": null,
"instance": null,
"name": null,
"size": null,
"state": null
}
],
"ssh-key": {
"fingerprint": "string",
"name": "string"
},
"ssh-keys": [
{
"fingerprint": null,
"name": null
}
],
"state": "expunging",
"template": {
"application-consistent-snapshot-enabled": true,
"boot-mode": "legacy",
"build": "string",
"checksum": "string",
"created-at": "2024-01-01T12:00:00Z",
"default-user": "string",
"description": "string",
"family": "string",
"id": "string",
"maintainer": "string",
"name": "string",
"password-enabled": true,
"size": 0,
"ssh-key-enabled": true,
"url": "string",
"version": "string",
"visibility": "private",
"zones": [
null
]
},
"tpm-enabled": true,
"user-data": "string"
},
"name": "string",
"size": 0,
"state": "snapshotting"
}
],
"ssh-key": {
"fingerprint": "string",
"name": "string"
},
"ssh-keys": [
{
"fingerprint": "string",
"name": "string"
}
],
"state": "expunging",
"template": {
"application-consistent-snapshot-enabled": true,
"boot-mode": "legacy",
"build": "string",
"checksum": "string",
"created-at": "2024-01-01T12:00:00Z",
"default-user": "string",
"description": "string",
"family": "string",
"id": "string",
"maintainer": "string",
"name": "string",
"password-enabled": true,
"size": 0,
"ssh-key-enabled": true,
"url": "string",
"version": "string",
"visibility": "private",
"zones": [
"ch-dk-2"
]
},
"tpm-enabled": true,
"user-data": "string"
}SDK reference for get-instance: golang | Python | Java
CLI: exo api get-instance
reset-instance
Reset a Compute instance to a base/target template
PUT /instance/{id}:resetThis operation re-installs a Compute instance to a base template. If target template is provided it will be used to recreated instance from. Warning: the operation wipes all data stored on the disk.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
disk-size | integer | no | Instance disk size in GiB |
template | object | no | Instance template schema details |
Example
{
"disk-size": 0,
"template": {
"application-consistent-snapshot-enabled": true,
"boot-mode": "legacy",
"build": "string",
"checksum": "string",
"created-at": "2024-01-01T12:00:00Z",
"default-user": "string",
"description": "string",
"family": "string",
"id": "string",
"maintainer": "string",
"name": "string",
"password-enabled": true,
"size": 0,
"ssh-key-enabled": true,
"url": "string",
"version": "string",
"visibility": "private",
"zones": [
"ch-dk-2"
]
}
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for reset-instance: golang | Python | Java
CLI: exo api reset-instance
start-instance
Start a Compute instance
PUT /instance/{id}:startThis operation starts a virtual machine, potentially using a rescue profile if specified
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
rescue-profile | string | no | Boot in Rescue Mode, using named profile (supported: netboot, netboot-efi) Allowed values: netboot-efi, netboot. |
Example
{
"rescue-profile": "netboot-efi"
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for start-instance: golang | Python | Java
CLI: exo api start-instance
scale-instance
Scale a Compute instance to a new Instance Type
PUT /instance/{id}:scaleThis operation changes the Compute instance’s type. Note: the new Instance Type must be within the same family (e.g. a standard instance cannot be scaled to gpu2 or storage).
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
instance-type | object | yes | Compute instance type schema details |
Example
{
"instance-type": {
"authorized": true,
"cpus": 0,
"family": "gpu3",
"gpus": 0,
"id": "string",
"memory": 0,
"size": "large",
"zones": [
"ch-dk-2"
]
}
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for scale-instance: golang | Python | Java
CLI: exo api scale-instance
stop-instance
Stop a Compute instance
PUT /instance/{id}:stopPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for stop-instance: golang | Python | Java
CLI: exo api stop-instance
reboot-instance
Reboot a Compute instance
PUT /instance/{id}:rebootPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for reboot-instance: golang | Python | Java
CLI: exo api reboot-instance
update-instance
Update a Compute instance
PUT /instance/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
application-consistent-snapshot-enabled | boolean | no | Enable/Disable Application Consistent Snapshot for Instance |
labels | object | no | Resource labels |
name | string | no | Instance name |
public-ip-assignment | string | no | Assign public IP to the Instance Allowed values: inet4, dual, none. |
user-data | string | no | Instance Cloud-init user-data (base64 encoded) |
Example
{
"application-consistent-snapshot-enabled": true,
"labels": {},
"name": "string",
"public-ip-assignment": "inet4",
"user-data": "string"
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for update-instance: golang | Python | Java
CLI: exo api update-instance
delete-instance
Delete a Compute instance
DELETE /instance/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for delete-instance: golang | Python | Java
CLI: exo api delete-instance
reveal-instance-password
Reveal the password used during instance creation or the latest password reset.
GET /instance/{id}:passwordReveal the password used during instance creation or the latest password reset.
This is only available for VMs created against templates having the password-enabled
property set to true.
Passwords are transiently stored for at most 24 hours and intended to be retrieved shortly after
creation or resets.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
password | string | Password |
Example output
{
"password": "string"
}SDK reference for reveal-instance-password: golang | Python | Java
CLI: exo api reveal-instance-password
reset-instance-password
Reset a compute instance password
PUT /instance/{id}:reset-passwordPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for reset-instance-password: golang | Python | Java
CLI: exo api reset-instance-password
remove-instance-protection
Remove instance destruction protection
PUT /instance/{id}:remove-protectionPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for remove-instance-protection: golang | Python | Java
CLI: exo api remove-instance-protection
add-instance-protection
Set instance destruction protection
PUT /instance/{id}:add-protectionPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for add-instance-protection: golang | Python | Java
CLI: exo api add-instance-protection
Other Operations
get-console-proxy-url
Retrieve signed url valid for 60 seconds to connect via console-proxy websocket to VM VNC console.
GET /console/{id}Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
host | string | |
path | string | |
url | string |
Example output
{
"host": "string",
"path": "string",
"url": "string"
}SDK reference for get-console-proxy-url: golang | Python | Java
CLI: exo api get-console-proxy-url
resize-instance-disk
Resize a Compute instance disk
PUT /instance/{id}:resize-diskThis operation resizes a Compute instance’s disk volume. Note: the disk can only grow, cannot be shrunk.
Path parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
disk-size | integer | yes | Instance disk size in GiB |
Example
{
"disk-size": 0
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for resize-instance-disk: golang | Python | Java
CLI: exo api resize-instance-disk
reset-instance-field
Reset Instance field
DELETE /instance/{id}/{field}Path parameters
| Name | In | Description |
|---|---|---|
id | path | |
field | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for reset-instance-field: golang | Python | Java
CLI: exo api reset-instance-field
revert-instance-to-snapshot
Revert a snapshot for an instance
POST /instance/{instance-id}:revert-snapshotThis operation reverts the snapshot to the Compute instance volume, restoring stored data as it was at the time of the snapshot. The Compute instance must be previously stopped.
Path parameters
| Name | In | Description |
|---|---|---|
instance-id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
id | string | yes | Snapshot ID |
Example
{
"id": "string"
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for revert-instance-to-snapshot: golang | Python | Java
CLI: exo api revert-instance-to-snapshot
list-instances
List Compute instances
GET /instanceQuery parameters
| Name | In | Required | Description |
|---|---|---|---|
manager-id | query | no | |
manager-type | query | no | |
ip-address | query | no |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
instances | array[object] | schema details |
Example output
{
"instances": [
{
"created-at": "2024-01-01T12:00:00Z",
"id": "string",
"instance-type": {
"authorized": true,
"cpus": 0,
"family": "gpu3",
"gpus": 0,
"id": "string",
"memory": 0,
"size": "large",
"zones": [
"ch-dk-2"
]
},
"ipv6-address": "string",
"labels": {},
"mac-address": "string",
"manager": {
"id": "string",
"type": "sks-nodepool"
},
"name": "string",
"private-networks": [
{
"id": "string",
"mac-address": "string"
}
],
"public-ip": "string",
"public-ip-assignment": "inet4",
"security-groups": [
{
"description": "string",
"external-sources": [
null
],
"id": "string",
"name": "string",
"rules": [
null
]
}
],
"ssh-key": {
"fingerprint": "string",
"name": "string"
},
"ssh-keys": [
{
"fingerprint": "string",
"name": "string"
}
],
"state": "expunging",
"template": {
"application-consistent-snapshot-enabled": true,
"boot-mode": "legacy",
"build": "string",
"checksum": "string",
"created-at": "2024-01-01T12:00:00Z",
"default-user": "string",
"description": "string",
"family": "string",
"id": "string",
"maintainer": "string",
"name": "string",
"password-enabled": true,
"size": 0,
"ssh-key-enabled": true,
"url": "string",
"version": "string",
"visibility": "private",
"zones": [
"ch-dk-2"
]
}
}
]
}SDK reference for list-instances: golang | Python | Java
CLI: exo api list-instances
create-snapshot
Create a Snapshot of a Compute instance
POST /instance/{id}:create-snapshotPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for create-snapshot: golang | Python | Java
CLI: exo api create-snapshot
enable-tpm
Enable tpm for the instance.
POST /instance/{id}:enable-tpmPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | object | Related resource reference schema details |
state | string | Operation status Allowed values: failure, pending, success, timeout. |
Example output
{
"id": "string",
"message": "string",
"reason": "incorrect",
"reference": {
"command": "string",
"id": "string",
"link": "string"
},
"state": "failure"
}SDK reference for enable-tpm: golang | Python | Java
CLI: exo api enable-tpm