List all drives | |||
---|---|---|---|
GET | /drives/list | ||
Returns (list) | KEY | VALUE | |
uuid | A UUID of the entity |
List all standard drives | |||
---|---|---|---|
GET | /drives/list/standard | ||
Returns (list) | KEY | VALUE | |
uuid | A UUID of the entity |
Get all drives info | |||
---|---|---|---|
GET | /drives/info | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Get all drives full info | |||
---|---|---|---|
GET | /drives/info/full | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Get all drives cached full info | |||
---|---|---|---|
GET | /drives/info/full/cached | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Get all standard drives info | |||
---|---|---|---|
GET | /drives/info/standard | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
drive | Drive UUID | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
format | the compressed format of the drive image | ||
size | Size in bytes or as per suffix | ||
media | Media type of the standard drive image, either cdrom or disk (thedefault) | ||
rawsize | The size in GB of the drive image post-decompression |
Get single drive info | |||
---|---|---|---|
GET | /drives/DRIVE/info | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Get single drive full info | |||
---|---|---|---|
GET | /drives/DRIVE/info/full | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Create a drive | |||
---|---|---|---|
POST | /drives/create | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | False | |
tags | space-separated list of tags | True | |
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | True | |
user: |
user-defined KEY VALUE pairs | True | |
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | True | |
size | Size in bytes or as per suffix | False | |
backup:frequency | Automatic backup frequency (hours|days|weeks) | True | |
backup:max:copies | Maximum number of backup copies to be kept | True | |
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | True | |
backup:source | UUID of the source of the backup (for backup targets) | True | |
tier | Storage tier | True | |
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | True | |
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | True | |
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Resync the API database for a specific drive | |||
---|---|---|---|
POST | /servers/SERVER/resync | ||
Expects | Empty POST | ||
Notes: | Resync the Database attributes for a given drive based on the current infrastructure configuration. |
Destroy a drive | |||
---|---|---|---|
POST | /drives/DRIVE/destroy | ||
Expects | Empty POST | ||
Returns | HTTP 204 No Content |
Set extra drive data | |||
---|---|---|---|
POST | /drives/DRIVE/set | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | True | |
tags | space-separated list of tags (or None) | True | |
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users (or None) | True | |
user: |
user-defined KEY VALUE pairs (or None) | True | |
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) (or None) | True | |
size | Size in bytes or as per suffix | True | |
backup:frequency | Automatic backup frequency (hours|days|weeks) (or None) | True | |
backup:max:copies | Maximum number of backup copies to be kept (or None) | True | |
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) (or None) | True | |
backup:source | UUID of the source of the backup (for backup targets) (or None) | True | |
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Image a drive from another drive | |||
---|---|---|---|
POST | /drives/DRIVE/image/SOURCE[/CONVERSION] | ||
Expects | Empty POST | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded | ||
Notes: | Supports 'gzip' or 'gunzip' conversions. The actual imagingprocess is asynchronous, with progress reported via drive info. |
Pull a drive image from a remote URL to a drive | |||
---|---|---|---|
POST | /drives/DRIVE/pull | ||
Expects | KEY | VALUE | Optional |
source | The remote image to be pulled to the drive | False | |
checksum | The checksum of the file to be pulled, or the URL of a checksum file containing a list of checksums and filenames | True | |
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded | ||
Notes: | 'checksum' may be a checksum hash or a URL to a file containing a list of hashes and filenames. The actual pulling process is asynchronous, with progress reported via drive info. |
Sync a drive to another drive | |||
---|---|---|---|
POST | /drives/DRIVE/sync/TARGET[/CONVERSION] | ||
Expects | Empty POST | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Stop syncing a drive | |||
---|---|---|---|
POST | /drives/DRIVE/unsync | ||
Expects | Empty POST | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Clone a specific drive | |||
---|---|---|---|
POST | /drives/DRIVE/clone[/CONVERSION] | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | True | |
tags | space-separated list of tags | True | |
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | True | |
user: |
user-defined KEY VALUE pairs | True | |
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | True | |
size | Size in bytes or as per suffix | True | |
backup:frequency | Automatic backup frequency (hours|days|weeks) | True | |
backup:max:copies | Maximum number of backup copies to be kept | True | |
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | True | |
backup:source | UUID of the source of the backup (for backup targets) | True | |
tier | Storage tier | True | |
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | True | |
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | True | |
user | User UUID owning an entity | True | |
User's email | True | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
user: |
user-defined KEY VALUE pairs | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
size | Size in bytes or as per suffix | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
drive | Drive UUID | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
licenses | License(s) for paid software | ||
encryption:cipher | either 'none' or 'aes-xts-plain' (the default) | ||
created | Creation date | ||
imaging | 'true' if this is underway, or 'queued' if waiting for another imaging or pulling operation to complete first. If a drive is imaging, a call to /info/full will show the percentage completed. | ||
imaging:source | UUID of the source drive being imaged onto this drive | ||
imaging:targets | UUID(s) of the target drives being imaged from this drive | ||
|
Drive IO bytes / requests since host boot | ||
sync | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed or 'active' if complete and maintaining sync. | ||
sync:target | UUID of the target drive being synced from this drive | ||
sync:source | UUID of the source drive being synced into this drive | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
pull | 'true' if this is underway; make a call to /info/full to get more detail: 'queued' if waiting for another imaging or pulling operation to complete first, percentage completed if in progress, or 'verifying' if in progress of verifying the checksum | ||
pull:source | The remote image that is being pulled | ||
pull:checksum | The checksum of the drive post-pull | ||
pull:checksum:algorithm | The algorithm used to check the checksum | ||
pull:checksum:bytes | The number of bytes of the drive that were used to generate the checksum. This should match the expected size of the pulled image. | ||
pull:checksum:expected | The checksum provided in the initial /pull call, checked against 'pull:checksum' to verify the drive image | ||
pull:checksum:status | Whether or not verification by checksum succeeded |
Read binary data from a drive | |||
---|---|---|---|
GET | /drives/DRIVE/read[/OFFSET[/SIZE]] | ||
Returns | Binary data (Content-Type: application/octet-stream) | ||
Notes: | OFFSET and SIZE are specified in bytes, optionally with a k/M/G/T suffix. At present, SIZE may not exceed 4MB for a single request. Our drive download tool automatically reads the drive in 4MB chunks. You should do the same for large downloads. |
Write binary data to a drive | |||
---|---|---|---|
POST | /drives/DRIVE/write[/OFFSET] | ||
Expects | Binary data (Content-Type: application/octet-stream) | ||
Returns | HTTP 204 No Content | ||
Notes: | OFFSET is the offset in the target drive at which to start writing, not an offset in the input stream. It is specified in bytes, optionally with a k/M/G/T suffix. Our drive upload tool automatically splits the input file into 4MB chunks and transfers each chunk gzipped. You should do the same for large uploads. |
List all servers | |||
---|---|---|---|
GET | /servers/list | ||
Returns (list) | KEY | VALUE | |
uuid | A UUID of the entity |
Get all servers info | |||
---|---|---|---|
GET | /servers/info | ||
Returns (dicts) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start |
Get all servers full info | |||
---|---|---|---|
GET | /servers/info/full | ||
Returns (dicts) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start |
Get all servers cached full info | |||
---|---|---|---|
GET | /servers/info/full/cached | ||
Returns (dicts) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start |
Get single server info | |||
---|---|---|---|
GET | /servers/SERVER/info | ||
Returns (dict) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start |
Get single server full info | |||
---|---|---|---|
GET | /servers/SERVER/info/full | ||
Returns (dict) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start |
Create and optionally start a server | |||
---|---|---|---|
POST | /servers/create[/stopped] | ||
Expects | KEY | VALUE | Optional |
cpu | CPU in core-MHz | False | |
mem | Memory in MB | False | |
tags | space-separated list of tags | True | |
user: |
user-defined KEY VALUE pairs | True | |
ssh: |
SSH key | True | |
name | Name of entity | False | |
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | True | |
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | True | |
password | Server's password | True | |
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | True | |
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | True | |
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | True | |
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | True | |
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | True | |
fs: |
Folder UUID and path to connect as specific filesystem | True | |
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | True | |
|
Drive UUID to connect as specified device | True | |
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | True | |
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | True | |
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | True | |
fs: |
Mount point for specified filesystem | True | |
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | True | |
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | True | |
nic: |
VLAN to which the network interface is attached | True | |
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | True | |
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | True | |
fs: |
Mount type for specific filesystem | True | |
type | Server type: vm (the default) or container | True | |
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | True | |
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | True | |
Returns (dict) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start |
Start a specific server | |||
---|---|---|---|
POST | /servers/SERVER/start | ||
Returns (dict) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start |
Set server configuration | |||
---|---|---|---|
POST | /servers/SERVER/set (Active Server) | ||
Expects | KEY | VALUE | Optional |
cpu | CPU in core-MHz | True | |
mem | Memory in MB | True | |
tags | space-separated list of tags (or None) | True | |
user: |
user-defined KEY VALUE pairs (or None) | True | |
ssh: |
SSH key (or None) | True | |
name | Name of entity | True | |
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 (or None) | True | |
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system (or None) | True | |
password | Server's password (or None) | True | |
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically (or None) | True | |
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. (or None) | True | |
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. (or None) | True | |
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. (or None) | True | |
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile (or None) | True | |
Returns (dict) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start | ||
Notes: | Reconfigures a running server. |
Set server configuration | |||
---|---|---|---|
POST | /servers/SERVER/set (Stopped Server) | ||
Expects | KEY | VALUE | Optional |
cpu | CPU in core-MHz | True | |
mem | Memory in MB | True | |
tags | space-separated list of tags (or None) | True | |
user: |
user-defined KEY VALUE pairs (or None) | True | |
ssh: |
SSH key (or None) | True | |
name | Name of entity | True | |
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 (or None) | True | |
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system (or None) | True | |
password | Server's password (or None) | True | |
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically (or None) | True | |
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. (or None) | True | |
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. (or None) | True | |
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. (or None) | True | |
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile (or None) | True | |
fs: |
Folder UUID and path to connect as specific filesystem (or None) | True | |
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. (or None) | True | |
|
Drive UUID to connect as specified device (or None) | True | |
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. (or None) | True | |
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. (or None) | True | |
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. (or None) | True | |
fs: |
Mount point for specified filesystem (or None) | True | |
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. (or None) | True | |
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. (or None) | True | |
nic: |
VLAN to which the network interface is attached (or None) | True | |
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). (or None) | True | |
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. (or None) | True | |
fs: |
Mount type for specific filesystem (or None) | True | |
type | Server type: vm (the default) or container (or None) | True | |
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives (or None) | True | |
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers (or None) | True | |
Returns (dict) | KEY | VALUE | |
cpu | CPU in core-MHz | ||
mem | Memory in MB | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
name | Name of entity | ||
nic:0:ip | Public IP(s) which a server's operating system can use on nic:0 | ||
respawn | 'true' means that a container will automatically restart when shutdown from within the operating system | ||
password | Server's password | ||
persistent | 'true' means that server will revert to a 'stopped' status on server stop or shutdown, rather than being destroyed automatically | ||
nic:0:firewall:accept | Defines which, if any, inbound ports should be opened and to which protocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:reject | Defines which, if any, inbound ports should be closed and to whichprotocols. Takes a space separated list in the form PROTOCOL/[IP ADDRESS]/[CIDR MASK]/PORT[:RANGE], eg. 'tcp/22' or 'udp/10.0.0.0/16/5900:5902'. See the control panel firewall tooltip for more details. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
nic:0:firewall:policy | Defines the action to be applied to all packets not matching an existing firewall rule. Possible values are 'accept' or 'reject'. This key only exists if the built-in firewall is in use, and setting it to any value will enable the firewall. | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
fs: |
Folder UUID and path to connect as specific filesystem | ||
smp | Number of virtual processor cores, or 'auto' to calculate based on cpu. When the server starts, this key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets', appear with the number of cores allocated and the number of sockets (virtual cpus) that these appear in. | ||
|
Drive UUID to connect as specified device | ||
vnc | IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot. | ||
boot | Device boot order, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable. | ||
vnc:tls | Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available. | ||
fs: |
Mount point for specified filesystem | ||
nic:0:dhcp | IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to 'auto' to allocate a temporary IP at boot. When the server starts,this key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
nic: |
MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
nic: |
VLAN to which the network interface is attached | ||
nic: |
NIC hardware emulated for the network interface (use 'e1000'as default value; 'virtio' or 'rtl8139' are also available). | ||
|
Media type set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard disk. | ||
fs: |
Mount type for specific filesystem | ||
type | Server type: vm (the default) or container | ||
avoid:drives | space-separated list of existing drives to ensure this new server is created on physical different hardware than those existing drives | ||
avoid:servers | space-separated list of existing servers to ensure this new server is created on physical different hardware than those existing servers | ||
user | User UUID owning an entity | ||
status | Status of an entity | ||
nic:0:block | Outbound port blocks on public NIC | ||
cpu:used | CPU used in core-MHz | ||
mem:used | Memory used in MB | ||
mem:billed | Memory billed in MB | ||
docker:docker:init | 'true' means that a container will call /sbin/init rather than theentrypoint described within the dockerfile | ||
docker:args | Append arguments to the docker init path | ||
vnc:ip | IP address for overlay VNC access on port 5900. Set vnc key to 'auto', to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot | ||
vnc:netmask | Netmask for the VNC IP address. | ||
vnc:gateway | Gateway for the VNC IP address. | ||
ssh:ip | IP address for overlay emergency SSH access on port 2022 | ||
server | Server UUID | ||
nic:0:mac | The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN. | ||
started | Start time expressed in seconds since the epoch, in UTC | ||
cpu:usage | Server CPU usage in core-MHz | ||
smp:cores | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic:0:dhcp:ip | The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set nic:0:dhcp key to 'auto' to allocate a temporary IP at boot. When the server starts, that key stays unchanged, but an extra key 'nic:0:dhcp:ip' appears with the IP allocated. | ||
|
Cumulative IO read/write bytes/request on device since server start | ||
smp:sockets | Number of virtual processor cores. Controlled by smp key. When the server starts, that key stays unchanged, but two extra keys, 'smp:cores' and 'smp:sockets' appear with the number of cores allocated and the number of sockets (virtual CPUs) that these cores appear in | ||
nic: |
Cumulative received/transmitted byte/packet count for NICs since server start | ||
console: |
Cumulative received/transmitted byte count for console access since server start | ||
Notes: | Reconfigures a running server. |
Stop a specific server | |||
---|---|---|---|
POST | /servers/SERVER/stop | ||
Expects | Empty POST | ||
Returns | HTTP 204 No Content | ||
Notes: | Kills the server immediately, equivalent to a power failure. Server reverts to a stopped status if it is persistent and is automatically destroyed otherwise. |
Resync the API database for a specific server | |||
---|---|---|---|
POST | /servers/SERVER/resync | ||
Expects | Empty POST | ||
Notes: | Resync the Database attributes for a given server based on the current infrastructure configuration. |
Destroy a specific server | |||
---|---|---|---|
POST | /servers/SERVER/destroy | ||
Expects | Empty POST | ||
Returns | HTTP 204 No Content |
Shutdown a specific server | |||
---|---|---|---|
POST | /servers/SERVER/shutdown | ||
Expects | Empty POST | ||
Returns | HTTP 204 No Content | ||
Notes: | Sends the server an ACPI power-down event. Server reverts to a stopped status if it is persistent and is automatically destroyed otherwise. |
Reset a server | |||
---|---|---|---|
POST | /servers/SERVER/reset | ||
Expects | Empty POST | ||
Returns | HTTP 204 No Content |
List all folders | |||
---|---|---|---|
GET | /folders/list | ||
Returns (list) | KEY | VALUE | |
uuid | A UUID of the entity |
List all standard folders | |||
---|---|---|---|
GET | /folders/list/standard | ||
Returns (list) | KEY | VALUE | |
uuid | A UUID of the entity |
Get all folders info | |||
---|---|---|---|
GET | /folders/info | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Get all standard folders info | |||
---|---|---|---|
GET | /folders/info/standard | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Get all folders full info | |||
---|---|---|---|
GET | /folders/info/full | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Get all folders cached full info | |||
---|---|---|---|
GET | /folders/info/full/cached | ||
Returns (dicts) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Get single folder info | |||
---|---|---|---|
GET | /folders/FOLDER/info | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Get single folder full info | |||
---|---|---|---|
GET | /folders/FOLDER/info/full | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Create a folder | |||
---|---|---|---|
POST | /folders/create | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | False | |
tags | space-separated list of tags | True | |
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | True | |
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | True | |
user: |
user-defined KEY VALUE pairs | True | |
ssh: |
SSH key | True | |
password | Folder's password | True | |
backup:frequency | Automatic backup frequency (hours|days|weeks) | True | |
backup:max:copies | Maximum number of backup copies to be kept | True | |
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | True | |
backup:source | UUID of the source of the backup (for backup targets) | True | |
docker:args | Append arguments to the docker init path | True | |
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | True | |
tier | Storage tier | True | |
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | True | |
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Resync the API database for a specific folder | |||
---|---|---|---|
POST | /folders/FOLDER/resync | ||
Expects | Empty POST | ||
Notes: | Resync the Database attributes for a given folder based on the current infrastructure configuration. |
Destroy a specific folder | |||
---|---|---|---|
POST | /folders/FOLDER/destroy | ||
Expects | Empty POST | ||
Returns | HTTP 204 No Content |
Set extra folder data | |||
---|---|---|---|
POST | /folders/FOLDER/set | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | True | |
tags | space-separated list of tags (or None) | True | |
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users (or None) | True | |
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) (or None) | True | |
user: |
user-defined KEY VALUE pairs (or None) | True | |
ssh: |
SSH key (or None) | True | |
password | Folder's password (or None) | True | |
backup:frequency | Automatic backup frequency (hours|days|weeks) (or None) | True | |
backup:max:copies | Maximum number of backup copies to be kept (or None) | True | |
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) (or None) | True | |
backup:source | UUID of the source of the backup (for backup targets) (or None) | True | |
docker:args | Append arguments to the docker init path (or None) | True | |
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden (or None) | True | |
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Image a folder from another folder | |||
---|---|---|---|
POST | /folders/FOLDER/sync/SOURCE | ||
Expects | Empty POST | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest | ||
Notes: | The syncing process is asynchronous, with progress reported via folder info. |
Stops any ongoing folder sync. | |||
---|---|---|---|
POST | /folders/FOLDER/sync/stop | ||
Expects | Empty POST | ||
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest | ||
Notes: | As with the /sync/ call, FOLDER is the destination folder |
Sync a docker image into folder | |||
---|---|---|---|
POST | /folders/FOLDER/docker | ||
Expects | KEY | VALUE | Optional |
docker:repository | Docker repository | False | |
docker:tag | Docker repository tag | True | |
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Clone a specific drive | |||
---|---|---|---|
POST | /folders/FOLDER/clone | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | True | |
tags | space-separated list of tags | True | |
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | True | |
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | True | |
user: |
user-defined KEY VALUE pairs | True | |
ssh: |
SSH key | True | |
password | Folder's password | True | |
backup:frequency | Automatic backup frequency (hours|days|weeks) | True | |
backup:max:copies | Maximum number of backup copies to be kept | True | |
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | True | |
backup:source | UUID of the source of the backup (for backup targets) | True | |
docker:args | Append arguments to the docker init path | True | |
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | True | |
tier | Storage tier | True | |
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | True | |
Returns (dict) | KEY | VALUE | |
name | Name of entity | ||
tags | space-separated list of tags | ||
readers | space-separated list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff' for all users | ||
claim:type | either exclusive (the default) or 'shared' to allow multiple servers to access a raw drive simultaneously (only advised if read-only or using cluster filesystem) | ||
user: |
user-defined KEY VALUE pairs | ||
ssh: |
SSH key | ||
password | Folder's password | ||
backup:frequency | Automatic backup frequency (hours|days|weeks) | ||
backup:max:copies | Maximum number of backup copies to be kept | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
docker:args | Append arguments to the docker init path | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
tier | Storage tier | ||
user | User UUID owning an entity | ||
avoid | space-separated list of existing drives/folders to ensure this new drive/folder is created on physical different hardware than those existing drives/folders | ||
folder | Folder UUID | ||
source | Description for the source of an entity | ||
status | Status of an entity | ||
claimed | present if drive/folder is in use by a server, values are the server uuids suffixed by attachment points | ||
created | Creation date | ||
used | Storage used in bytes | ||
webdav | Folder's webdav hostname | ||
syncing | 'true' if this is underway. If a drive is syncing, a call to /info/full will show the percentage completed. | ||
syncing:source | UUID of the source drive being synced into this drive | ||
|
Bytes of network traffic exchanged with local/remote IPs | ||
backup:last:backup | Timestamp (UTC) of last backup (for backup sources) | ||
backup:source | UUID of the source of the backup (for backup targets) | ||
backup:timestamp | Timestamp of the backup (for backup targets) | ||
docker:image | Docker repository name image was pulled from | ||
docker:sync | Docker image currently being synced | ||
docker:env | Docker env string from manifest, consisting of space separated environment variable assignments | ||
docker:env:user | User specified environment variables passed to the docker environment after the docker provided args (docker:env) so that any defaults can be overridden | ||
docker:cmd | Docker Cmd command from manifest | ||
docker:entrypoint | Docker Entrypoint string from manifest | ||
docker:exposedports | Docker ExposedPorts string from manifest |
Read binary data from a folder | |||
---|---|---|---|
GET | /folders/DRIVE/read[/OFFSET[/SIZE]] | ||
Returns | Binary data (Content-Type: application/octet-stream) | ||
Notes: | OFFSET and SIZE are specified in bytes, optionally with a k/M/G/T suffix. At present, SIZE may not exceed 4MB for a single request. Our folder download tool automatically reads the folders in 4MB chunks. You should do the same for large downloads. |
Write binary data to a folder | |||
---|---|---|---|
POST | /folders/FOLDER/write[/SIZE[/OFFSET]] | ||
Expects | Binary data (Content-Type: application/octet-stream) | ||
Returns | HTTP 204 No Content | ||
Notes: | OFFSET is the offset in the target folder at which to start writing, not an offset in the input stream. It is specified in bytes, optionally with a k/M/G/T suffix. Our upload tool automatically splits the input file into 4MB chunks and transfers each chunk gzipped. You should do the same for large uploads. |
List all resources | |||
---|---|---|---|
GET | /resources/[TYPE/]list | ||
Returns (list) | KEY | VALUE | |
type | Resource type (ip, ip6 or vlan) | ||
resource | Resource identifier |
Get all resources info | |||
---|---|---|---|
GET | /resources/info | ||
Returns (dicts) | KEY | VALUE | |
resource | Resource identifier | ||
type | Resource type (ip, ip6 or vlan) | ||
netmask | Netmask to be used with an IP | ||
gateway | Gateway to be used with an IP | ||
nameserver | Name server(s) to be used with an IP | ||
name | Name of entity | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
rdns | Reverse DNS entry for IP | ||
user | User UUID owning an entity |
Get single resource info | |||
---|---|---|---|
GET | /resources/TYPE/RESOURCE/info | ||
Returns (dict) | KEY | VALUE | |
resource | Resource identifier | ||
type | Resource type (ip, ip6 or vlan) | ||
netmask | Netmask to be used with an IP | ||
gateway | Gateway to be used with an IP | ||
nameserver | Name server(s) to be used with an IP | ||
name | Name of entity | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
rdns | Reverse DNS entry for IP | ||
user | User UUID owning an entity |
Create a resource | |||
---|---|---|---|
POST | /resources/TYPE/create | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | True | |
tags | space-separated list of tags (or None) | True | |
user: |
user-defined KEY VALUE pairs (or None) | True | |
rdns | Reverse DNS entry for IP (or None) | True | |
Returns (dict) | KEY | VALUE | |
resource | Resource identifier | ||
type | Resource type (ip, ip6 or vlan) | ||
netmask | Netmask to be used with an IP | ||
gateway | Gateway to be used with an IP | ||
nameserver | Name server(s) to be used with an IP | ||
name | Name of entity | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
rdns | Reverse DNS entry for IP | ||
user | User UUID owning an entity |
Set extra resource data | |||
---|---|---|---|
POST | /resources/TYPE/RESOURCE/set | ||
Expects | KEY | VALUE | Optional |
name | Name of entity | True | |
tags | space-separated list of tags (or None) | True | |
user: |
user-defined KEY VALUE pairs (or None) | True | |
rdns | Reverse DNS entry for IP (or None) | True | |
Returns (dict) | KEY | VALUE | |
resource | Resource identifier | ||
type | Resource type (ip, ip6 or vlan) | ||
netmask | Netmask to be used with an IP | ||
gateway | Gateway to be used with an IP | ||
nameserver | Name server(s) to be used with an IP | ||
name | Name of entity | ||
tags | space-separated list of tags | ||
user: |
user-defined KEY VALUE pairs | ||
rdns | Reverse DNS entry for IP | ||
user | User UUID owning an entity |
Destroy a resource | |||
---|---|---|---|
POST | /resources/TYPE/RESOURCE/destroy | ||
Expects | Empty POST | ||
Returns | HTTP 204 No Content |