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 | Instance type reference | yes | Instance Type |
template | Template reference | yes | Instance Template |
anti-affinity-groups | array of Anti-affinity group reference | no | Instance Anti-affinity Groups |
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 | Deploy target reference | no | Instance Deploy Target |
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 of Security group reference | no | Instance Security Groups |
ssh-key | SSH key reference | no | Instance SSH Key |
ssh-keys | array of SSH key reference | no | Instance SSH Keys |
tpm-enabled | boolean | no | Enable Trusted Platform Module (TPM) |
user-data | string | no | Instance Cloud-init user-data (base64 encoded) |
Example
{
"anti-affinity-groups": [
{
"id": "string"
}
],
"application-consistent-snapshot-enabled": true,
"auto-start": true,
"deploy-target": {
"id": "string"
},
"disk-size": 0,
"instance-type": {
"id": "string"
},
"ipv6-enabled": true,
"labels": {},
"name": "string",
"public-ip-assignment": "inet4",
"secureboot-enabled": true,
"security-groups": [
{
"id": "string"
}
],
"ssh-key": {
"name": "string"
},
"ssh-keys": [
{
"name": "string"
}
],
"template": {
"id": "string"
},
"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 | Reference | Related resource reference |
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 of Anti-affinity Group | Instance Anti-affinity Groups |
application-consistent-snapshot-enabled | boolean | Indicates if the instance will take application-consistent snapshots |
created-at | string | Instance creation date |
deploy-target | Deploy target | Instance Deploy Target |
disk-size | integer | Instance disk size in GiB |
elastic-ips | array of Elastic IP | Instance Elastic IPs |
id | string | Instance ID |
instance-type | Compute instance type | Instance Type |
ipv6-address | string | Instance IPv6 address |
labels | object | Resource labels |
mac-address | string | Instance MAC address |
manager | Resource manager | Instance manager |
name | string | Instance name |
private-networks | array of Private Networks | Instance Private Networks |
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 of Security Group | Instance Security Groups |
snapshots | array of Snapshot | Instance Snapshots |
ssh-key | SSH key | Instance SSH Key |
ssh-keys | array of SSH key | Instance SSH Keys |
state | string | Instance state Allowed values: expunging, starting, destroying, running, stopping, stopped, migrating, error, destroyed. |
template | Instance template | Instance Template |
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 | Template reference | no | Template to recreate Instance from |
Example
{
"disk-size": 0,
"template": {
"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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Instance type reference | yes | Instance Type |
Example
{
"instance-type": {
"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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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 of Instances |
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"
]
}
}
]
}Instances
Instance
| Property | Type | Required | Description |
|---|---|---|---|
created-at | string | no | Instance creation date |
id | string | no | Instance ID |
instance-type | Compute instance type | no | Instance Type |
ipv6-address | string | no | Instance IPv6 address |
labels | object | no | Resource labels |
mac-address | string | no | Instance MAC address |
manager | Resource manager | no | Instance manager |
name | string | no | Instance name |
private-networks | array of Private Networks | no | Instance Private Networks |
public-ip | string | no | Instance public IPv4 address |
public-ip-assignment | string | no | Instance public IP assignment Allowed values: inet4, dual, none. |
security-groups | array of Security Group | no | Instance Security Groups |
ssh-key | SSH key | no | Instance SSH Key |
ssh-keys | array of SSH key | no | Instance SSH Keys |
state | string | no | Instance state Allowed values: expunging, starting, destroying, running, stopping, stopped, migrating, error, destroyed. |
template | Instance template | no | Instance Template |
Private Networks
Private Network
| Property | Type | Required | Description |
|---|---|---|---|
id | string | no | Private Network ID |
mac-address | string | no | Private Network MAC address |
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 | Reference | Related resource reference |
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 | Reference | Related resource reference |
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