Instance

Instances are the virtual machines at the core of the Exoscale Compute service.

Read more

create-instance

Create a Compute instance

POST /instance

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegeryesInstance disk size in GiB
instance-typeInstance type referenceyesInstance Type
templateTemplate referenceyesInstance Template
anti-affinity-groupsarray of Anti-affinity group referencenoInstance Anti-affinity Groups
application-consistent-snapshot-enabledbooleannoEnable application-consistent snapshot for the instance
auto-startbooleannoStart Instance on creation (default: true)
deploy-targetDeploy target referencenoInstance Deploy Target
ipv6-enabledbooleannoEnable IPv6. DEPRECATED: use public-ip-assignments.
labelsobjectnoResource labels
namestringnoInstance name
public-ip-assignmentstringnoAssign public IP to the Instance

Allowed values: inet4, dual, none.
secureboot-enabledbooleannoEnable secure boot
security-groupsarray of Security group referencenoInstance Security Groups
ssh-keySSH key referencenoInstance SSH Key
ssh-keysarray of SSH key referencenoInstance SSH Keys
tpm-enabledbooleannoEnable Trusted Platform Module (TPM)
user-datastringnoInstance 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

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
anti-affinity-groupsarray of Anti-affinity GroupInstance Anti-affinity Groups
application-consistent-snapshot-enabledbooleanIndicates if the instance will take application-consistent snapshots
created-atstringInstance creation date
deploy-targetDeploy targetInstance Deploy Target
disk-sizeintegerInstance disk size in GiB
elastic-ipsarray of Elastic IPInstance Elastic IPs
idstringInstance ID
instance-typeCompute instance typeInstance Type
ipv6-addressstringInstance IPv6 address
labelsobjectResource labels
mac-addressstringInstance MAC address
managerResource managerInstance manager
namestringInstance name
private-networksarray of Private NetworksInstance Private Networks
public-ipstringInstance public IPv4 address
public-ip-assignmentstringInstance public IP assignment

Allowed values: inet4, dual, none.
secureboot-enabledbooleanIndicates if the instance has secure boot enabled
security-groupsarray of Security GroupInstance Security Groups
snapshotsarray of SnapshotInstance Snapshots
ssh-keySSH keyInstance SSH Key
ssh-keysarray of SSH keyInstance SSH Keys
statestringInstance state

Allowed values: expunging, starting, destroying, running, stopping, stopped, migrating, error, destroyed.
templateInstance templateInstance Template
tpm-enabledbooleanIndicates if the instance has tpm enabled
user-datastringInstance 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}:reset

This 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

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegernoInstance disk size in GiB
templateTemplate referencenoTemplate to recreate Instance from
Example
{
  "disk-size": 0,
  "template": {
    "id": "string"
  }
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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}:start

This operation starts a virtual machine, potentially using a rescue profile if specified

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
rescue-profilestringnoBoot 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

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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}:scale

This 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

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
instance-typeInstance type referenceyesInstance Type
Example
{
  "instance-type": {
    "id": "string"
  }
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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}:stop

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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}:reboot

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
application-consistent-snapshot-enabledbooleannoEnable/Disable Application Consistent Snapshot for Instance
labelsobjectnoResource labels
namestringnoInstance name
public-ip-assignmentstringnoAssign public IP to the Instance

Allowed values: inet4, dual, none.
user-datastringnoInstance 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

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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}:password

Reveal 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

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
passwordstringPassword
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-password

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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-protection

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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-protection

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
hoststring
pathstring
urlstring
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-disk

This operation resizes a Compute instance’s disk volume. Note: the disk can only grow, cannot be shrunk.

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegeryesInstance disk size in GiB
Example
{
  "disk-size": 0
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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

NameInDescription
idpath
fieldpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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-snapshot

This 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

NameInDescription
instance-idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
idstringyesSnapshot ID
Example
{
  "id": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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 /instance

Query parameters

NameInRequiredDescription
manager-idqueryno
manager-typequeryno
ip-addressqueryno

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
instancesarray 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

PropertyTypeRequiredDescription
created-atstringnoInstance creation date
idstringnoInstance ID
instance-typeCompute instance typenoInstance Type
ipv6-addressstringnoInstance IPv6 address
labelsobjectnoResource labels
mac-addressstringnoInstance MAC address
managerResource managernoInstance manager
namestringnoInstance name
private-networksarray of Private NetworksnoInstance Private Networks
public-ipstringnoInstance public IPv4 address
public-ip-assignmentstringnoInstance public IP assignment

Allowed values: inet4, dual, none.
security-groupsarray of Security GroupnoInstance Security Groups
ssh-keySSH keynoInstance SSH Key
ssh-keysarray of SSH keynoInstance SSH Keys
statestringnoInstance state

Allowed values: expunging, starting, destroying, running, stopping, stopped, migrating, error, destroyed.
templateInstance templatenoInstance Template

Private Networks

Private Network

PropertyTypeRequiredDescription
idstringnoPrivate Network ID
mac-addressstringnoPrivate 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-snapshot

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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-tpm

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation 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

Last updated on