CloudSigma Back-end API 1.0 manual
March 18, 2013
For CloudSigma Back-end API 2.0 manual click here
- Using the API
- Key Information and Command-Line
Script
- Authentication
- Data Formats
- Errors
- User Accounts Management
- Drives Management
- Virtual Servers API
- Resources API
- UI API
- Billing API
1 Using the
API
API is implemented in a ReST style, using the URL to specify an
object and an action, HTTPS GET to read state and HTTPS POST to
change state.
Users, drives and servers are identified by UUIDs, which are
assigned by our infrastructure and passed as a string in the format
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
2 Key
Information and Command-Line Script
The API server addresses are:
Zurich: api.zrh.cloudsigma.com
Las Vegas: api.lvs.cloudsigma.com
They support https and http protocols however we strongly recommend always using https for
security reasons.
You can download our API
command-line script which uses the generic Linux command-line
script CURL (see http://en.wikipedia.org/wiki/CURL
and http://curl.haxx.se/).
Simply replace USER_EMAIL and USER_PASSWORD with your CloudSigma
username and password.
You can also download our Drive
upload script. If you are a Windows user you can download these.
Below are a few examples of how to use the command line script.
Getting account drive information:
./cloudsigma drives list [Enter]
efdeb730-7ed2-485d-8c60-2e23986cc63a
b4da194f-97f1-4d39-a09e-9bc6996195c3
623df5d7-b5dc-408a-a47e-eff523a76b40
f40cab2a-16fc-49c2-949a-ea7dda0c1ed5
3a70a1da-7a4e-43b2-855a-f4c7f329bd10
2d6d99ab-571f-4342-82fc-b8688023c1e7
42284959-7ed7-4aee-bc4a-35e041353f21
7f2a4643-52ca-4ce0-8cd7-36f5d00eebc7
d95cad55-8f3a-48b1-b36e-b85d052b52d4
f5a54833-b1d3-49fb-a6bf-122875749a9e
d7b4baa1-c7f6-4c9c-afc8-c532085c34dc
5c1ff3ec-d0f0-4afa-85c3-58d8838a62ff
5e70b725-438b-464b-bd9b-b8e9ddee2c8c
Creating a drive:
./cloudsigma -c drives create [Enter]
name Test
size 12582912
[Ctrl+D]
Getting single drive information:
./cloudsigma drives d3a15904-5a2f-4d9e-b12f-f304c361422e info [Enter]
status active
name Test
read:bytes 4096
user 6339d58e-2c04-4279-acde-dc39fe2c0bc7
drive d3a15904-5a2f-4d9e-b12f-f304c361422e
write:bytes 4096
read:requests 1
type disk
write:requests 1
size 12582912
Getting account server information:
./cloudsigma servers info [Enter]
status stopped
name Clone
mem 2048
vnc:password duCx9gtY
persistent true
ide:0:0 5e70b725-438b-464b-bd9b-b8e9ddee2c8c
nic:0:dhcp auto
vnc:ip auto
server e2819a8d-36b4-4965-a73f-794393d5728b
cpu 2000
ide:0:0:media disk
user 6339d58e-2c04-4279-acde-dc39fe2c0bc7
Creating a server:
./cloudsigma -c servers create [Enter]
status stopped
name Server2
mem 2048
cpu 2000
[Ctrl+D]
3 Authentication
API calls must use HTTP Basic Authentication, specifying the user's
email as the username and their password.
http://en.wikipedia.org/wiki/Basic_access_authentication
[Start of Page]
4 Data
formats
The API is in text/plain mode.
The API sends or receives one of three types of data, according to
the call:
- Single object, key value pairs of properties
- Multiple objects, list of values
- Multiple objects, key value pairs of properties for each
[Start of Page]
5 Errors
Errors are returned with an appropriate HTTP status code and a text
description in the HTTP body. The error types are:
| HTTP |
status code |
Meaning |
| 200 |
OK |
Command succeeded, data returned (possibly 0
length) |
| 204 |
No Content |
Command succeeded, no data returned (by
definition) |
| 400 |
Bad Request |
Invalid input data to command |
| 401 |
Unauthorized |
HTTP Basic Authentication missing or incorrect |
| 404 |
Not Found |
Command, drive, server or other object not found |
| 405 |
Method Not Allowed |
GET used on command expecting POST |
| 409 |
Conflict |
Drive, server or other resource is busy |
| 500 |
Internal Server Error |
Failed command |
| 500 |
Internal Server Error |
System error |
| 504 |
Gateway Timeout |
Operation timed out |
[Start of Page]
6 User Accout
Management
6.1 Profile info
6.2 Profile change
6.1 Profile
info
GET /profile/info
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| email |
EMAIL |
String |
Yes |
Checks for valid email address |
| first_name |
FIRST_NAME |
String |
Yes |
|
| last_name |
LAST_NAME |
String |
Yes |
|
| nick_name |
PUBLIC_NAME |
String |
Yes |
Used in phpBB nick name |
| title |
TITLE |
String |
No |
|
| company |
COMPANY |
String |
No |
|
| address |
ADDRESS |
String |
No |
|
| postcode |
POSTCODE |
String |
No |
|
| phone |
PHONE |
String |
No |
|
| currency |
Billing currency |
String |
No |
Once set cannot be changed |
| country |
COUNTRY_CODE |
String |
No |
|
| language |
LANGUAGE_CODE |
String |
No |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Errors: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /profile/info
Returns:
HTTP Code 200
uuid f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
email foo.bar@example.com
secret_key Fvsnn7SFuUa3U3VxvFJfgK7c4FPCFDBc4hevBfmm
first_name Foo
last_name Bar
nick_name FooBar
title
company
address here
postcode 1000
phone
[Start of Page]
[Start of Section]
6.2 Profile
change
POST /profile/set
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| email |
EMAIL |
String |
Yes |
Checks for valid email address |
| first_name |
FIRST_NAME |
String |
Yes |
|
| last_name |
LAST_NAME |
String |
Yes |
|
| nick_name |
PUBLIC_NAME |
String |
Yes |
Used in phpBB nick name |
| title |
TITLE |
String |
No |
|
| company |
COMPANY |
String |
No |
|
| address |
ADDRESS |
String |
No |
|
| postcode |
POSTCODE |
String |
No |
|
| phone |
PHONE |
String |
No |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: No |
|
| Examples: |
POST /profile/set
first_name
Returns:
HTTP Code 400
uuid f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
email foo.bar@example.com
secret_key Fvsnn7SFuUa3U3VxvFJfgK7c4FPCFDBc4hevBfmm
first_name Foo
errors:first_name * This field is required.
last_name Bar
nick_name FooBar
title
company
address here
postcode 1000
phone
[Start of Page]
[Start of Section]
7 Drives
Management
7.1 Drive Create
7.2 Drive Write
7.3 Drive Read
7.4 Drive Clone
7.5 Drive Destroy
7.6 Drive info
7.7 All drives info
7.8 Standard CDs
7.9 Standard images
7.10 All standard drives
[Start of Page]
7.1 Drive create
| POST /drives/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
DRIVE_NAME |
String |
Yes |
Drive name |
| size |
DRIVE_SIZE |
Integer |
Yes |
size of drive in bytes |
| claim:type |
CLAIM_TYPE |
String |
Yes |
optional, either `exclusive' (the default) or `shared' |
| readers |
UUID_LIST |
String list |
Yes |
optional, space-separated list of users allowed to read from a
drive or `ffffffff-ffff-ffff-ffff-ffffffffffff' for all users |
| encryption:cipher |
ENCRYPTION |
String |
No |
optional, either `none' or `aes-xts-plain'(the default) |
| tags |
affinity:ssd |
String list |
No |
optional, either `SSD' or `HDD'(the default) |
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /drives/create
name TEST_DRIVE
size 4194304
Returns:
status active
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
size 4194304
name TEST_DRIVE
drive 210a0b7e-2b71-4bba-8703-195704469a81
[Start of Page]
[Start of Section]
7.2 Drive
Write
| POST /drives/UUID/write[/OFFSET] |
| Key values pairs: |
| Binary data (Content-Type: application/octet-stream) Supports
raw data or Content-Encoding: gzip Does not support
Transfer-Encoding: chunked |
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. |
|
[Start of Page]
[Start of Section]
7.3 Drive
Read
| GET /drives/UUID/read/OFFSET/SIZE |
| Key values pairs: |
| Binary data (Content-Type: application/octet-stream) |
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. |
[Start of Page]
[Start of Section]
7.4 Drive
Clone
| POST /drives/UUID/clone |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
DRIVE_NAME |
String |
Yes |
Drive name |
| size |
DRIVE_SIZE |
Integer |
Yes |
size of drive in bytes |
| claim:type |
CLAIM_TYPE |
String |
Yes |
optional, either `exclusive' (the default) or `shared' |
| readers |
UUID_LIST |
String list |
Yes |
optional, space-separated list of users allowed to read from a
drive or `ffffffff-ffff-ffff-ffff-ffffffffffff' for all users |
| tags |
affinity:ssd |
String list |
No |
"/drive/UUID of SSD drive/clone name ssd-to-hdd tags" or "/drive/UUID of HDD drive>clonename hdd-to-ssdtags affinity:ssd" |
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| BadRequest if drive uuid is not found or the
new size is less than the original: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
[Start of Page]
[Start of Section]
7.5 Drive
Destroy
| POST /drives/UUID/destroy |
|
|
| Returns: |
| -Success: |
| HTTP Code 204 |
| -Error: |
| BadRequest if drive is mounted or Empty
response on success |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
[Start of Page]
[Start of Section]
7.6 Drive
info
GET /drives/UUID/info
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| status |
active - inactive |
String |
Yes |
|
| user |
UUID |
String |
Yes |
|
| size |
SIZE |
Integer |
No |
|
| name |
NAME |
String |
No |
|
| drive |
UUID |
String |
No |
|
| tags |
affinity:ssd |
String list |
No |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| HTTP Code 400 |
| Error key/value pairs |
| Requires authorization: Yes |
|
| Examples: |
GET /drives/7e8ab721-81c9-4cb9-a651-4cafbfe1501c/info
Returns:
HTTP Code 200
status active
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
size 1073741824
name gentoo-livecd
drive 7e8ab721-81c9-4cb9-a651-4cafbfe1501c
[Start of Page]
[Start of Section]
7.7 All
drives info
GET /drives/info
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| status |
active - inactive |
String |
Yes |
|
| user |
UUID |
String |
Yes |
|
| size |
SIZE |
Integer |
No |
|
| name |
NAME |
String |
No |
|
| drive |
UUID |
String |
No |
|
| tags |
affinity:ssd |
String list |
No |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| HTTP Code 400 |
| Error key/value pairs |
| Requires authorization: Yes |
|
| Examples: |
GET /drives/info
Returns:
HTTP Code 200
status active
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
size 1073741824
name gentoo-livecd
drive 7e8ab721-81c9-4cb9-a651-4cafbfe1501c
status active
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
size 5368709120
name root
drive ea6a8fdb-dab3-4d06-86c2-41a5835e6ed9
status active
name root1
drive 74744450-d338-4087-b3b8-59b505110a57
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
claimed be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:28644a70-
9e81-4a3e-85ea-91129f724034:ide:0:0
size 5368709120
status active
name root2
drive 4ee35c17-243b-43e6-9a5f-b679f3d36e86
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
claimed be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:b91bd1cd-
c63b-45ae-9dda-69fc53d74f41:ide:0:0
size 5368709120
status active
name data
drive f0026ff4-09d3-4fd0-a5c9-dfe652e01c99
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
claimed be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:e4d50a5c-
b516-4993-8d73-c36e7782fbbb:ide:1:0
size 107374182400
status active
name root6
drive 76018dc4-941c-4bc5-af59-15d391976512
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
size 5368709120
status active
name db2
drive 8b741c45-45a7-47ec-bad5-21bba738ecdb
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
size 536870912000
status active
name root12
drive ad2545e9-b8ed-465a-9da7-57a02507ccc8
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
claimed be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:22a53074-
a098-4e2f-9997-9a8bf055830a:ide:0:0
size 5368709120
[Start of Page]
[Start of Section]
7.8 Standard CDs
| GET /drives/standard/cd/list |
| Returns: |
| -Success: |
| HTTP Code 200 |
| list of DRIVE_UUID |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /drives/standard/cd/list
Returns:
HTTP Code 200
a49e25b3-69f4-440b-87a8-d79fa78ace53
5caa223b-0177-49d8-a287-39865a07e650
b72f7b9a-69bb-47d1-b87e-de7be0924eea
9b700743-2890-4d68-b109-66699ceb9491
267a24ea-899f-48fb-b348-aab24fb246b3
932ccf77-88ca-40f8-94c6-affe364a4caa
de2adf14-61b4-430e-9cb6-6e612ee90d88
c138e42c-2070-41fe-a354-7058870c79b0
[Start of Page]
[Start of Section]
7.9 Standard images
| GET /drives/standard/img/list |
| Returns: |
| -Success: |
| HTTP Code 200 |
| list of DRIVE_UUID |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /drives/standard/img/list
Returns:
HTTP Code 200
a49e25b3-69f4-440b-87a8-d79fa78ace53
5caa223b-0177-49d8-a287-39865a07e650
b72f7b9a-69bb-47d1-b87e-de7be0924eea
9b700743-2890-4d68-b109-66699ceb9491
267a24ea-899f-48fb-b348-aab24fb246b3
932ccf77-88ca-40f8-94c6-affe364a4caa
de2adf14-61b4-430e-9cb6-6e612ee90d88
c138e42c-2070-41fe-a354-7058870c79b0
[Start of Page]
[Start of Section]
7.10 All
standard drives
| GET /drives/standard/list |
| Returns: |
| -Success: |
| HTTP Code 200 |
| list of DRIVE_UUID |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
[Start of Page]
[Start of Section]
8 Virtual
servers API
8.1 Servers list
| GET /servers/list |
| GET /guests/list |
| Returns: |
| Requires authorization: Yes |
|
| Examples: |
GET /servers/list
Returns:
HTTP Code 200
b91bd1cd-c63b-45ae-9dda-69fc53d74f41
179f2015-f28b-4537-beab-a5d30d5fd4e2
e4d50a5c-b516-4993-8d73-c36e7782fbbb
28644a70-9e81-4a3e-85ea-91129f724034
bb783ced-d2b4-4003-a66e-87337ea6427e
a7a1653b-4ba5-4e12-8a45-a46b7230b2cb
e375ebf5-47ff-45c6-8f69-8ae45aaf95b2
6140e660-8e10-43f4-8511-1ad2f7d63ffd
22a53074-a098-4e2f-9997-9a8bf055830a
55cac183-e6f6-4c41-b2ac-b124336401bd
b2e644e2-d749-4625-a306-2c8d481a722e
c041eb14-c511-4734-89db-bb0b0b9db605
[Start of Page] [Start of
Section]
8.2 Server create
| POST /servers/create |
| POST /guests/create |
| Key values pairs: |
| Key |
Notes |
| name |
Server name. |
| parent |
UUID of parent object, if any. |
| cpu |
cpu quota in core MHz. |
| smp |
number of virtual processors (Minimum granularity is 1GHz per core, Maximum is 2.2GHz per core) or `auto' to calculate based on
cpu. |
| mem |
virtual memory size in MB. |
| ide:BUS[0-1]:UNIT[0-1] |
| block:INDEX[0-7] |
Drive UUID to connect as specified device. |
| ide:BUS[0-1]:UNIT[0-1]:media |
| block:INDEX[0-7]:media |
Media type - set to `cdrom' to simulate a cdrom, set to `disk'
or leave unset to simulate a hard disk. |
| boot |
Device to boot, e.g. ide:0:0 or ide:1:0. Set to a list to make
multiple devices bootable. |
| nic:0:model |
Create network interface with given type (use `e1000' as
default value; `rtl8139' or `virtio' are also available). |
| nic:0:dhcp |
The 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. |
| nic:1:model |
Create network interface with given type (use `e1000' as
default value; `rtl8139' or `virtio' are also available). |
| nic:1:vlan |
The VLAN to which the network interface is attached. |
| nic:1:mac |
The MAC address of the network interface. If unset, a randomly
generated address is used. If set, should be unique on the
VLAN. |
| vnc:ip |
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. |
| vnc:password |
Password for VNC access. If unset, VNC is disabled. |
| 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. |
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servers/create
name Test server
cpu 1000
mem 1000
ide:0:0 6baaa083-534a-4376-8a60-c5488fc99258
Returns:
status active
name Test server
tx 0
mem 1000
cpu 1000
rx 0
server 23a89931-424b-4d20-bcc0-0f7815809ec7
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
ide:0:0 6baaa083-534a-4376-8a60-c5488fc99258
smp 1
[Start of Page] [Start of
Section]
8.3 Server clone
| POST /servers/UUID/clone |
| POST /guests/UUID/clone |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
SERVER_NAME |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
>
POST /servers/e8b8a739-7c39-442e-a86d-ba6a043f3d4c/clone
name node005_clone
Returns:
HTTP Code 200
status active
name node005_clone
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
rx 0
persistent true
server e2d38cf0-ba63-479b-9bd8-a9b9a449c6cd
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
ide:0:0 666f076f-d2cc-4c4c-a8b2-2acb0f52fc3a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac 6a:98:e3:23:c2:47
smp 1
cpu 2000
[Start of Page] [Start of
Section]
8.4 Server destroy
| GET /servers/UUID/destroy |
| GET /guests/UUID/destroy |
| Returns: |
| -Success: |
| HTTP Code 204 |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/destroy
Returns:
HTTP Code 204
[Start of Page] [Start of
Section]
8.5 Multiple servers
destroy
| POST /servers/destroy |
| POST /guest/destroy |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servers/destroy
server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
server:1 179f2015-f28b-4537-beab-a5d30d5fd4e2
server:2 e4d50a5c-b516-4993-8d73-c36e7782fbb
Returns:
HTTP Code 200
e2ac6e98-986c-4361-8ecf-de31be73dc4a
d5883e0c-2dc3-424f-826c-8cc7d0f250f3
a32282b2-a411-4bc1-9d69-fa10a685bffb
0d2eba54-eb17-4597-a77f-56a7f3ade7e3
e8b8a739-7c39-442e-a86d-ba6a043f3d4c
9f33f3ee-37d5-490f-b883-8ee4a8bc2ff1
[Start of Page] [Start of
Section]
8.6 Server info
| GET /servers/UUID/info |
| GET /guests/UUID/info |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| HTTP Code 400 |
| Error key/value pairs |
| Requires authorization: Yes |
|
| Examples: |
GET /servers/bb783ced-d2b4-4003-a66e-87337ea6427e/info
Returns:
HTTP Code 200
status active
name dbserver1
tx 0
nic:1:model e1000
mem 4096
rx 0
boot ide:0:0
vnc:password KD9R3jcF
persistent true
ide:0:1 76096e90-6e34-40b6-9ef5-216abe6b330b
ide:0:0 529ec0ce-f930-4b69-8aca-d438e9bbe6d3
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
cpu 4000
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:0:model e1000
nic:1:mac 66:c8:fd:23:a7:a2
vnc:ip 91.203.56.72
smp 4
server bb783ced-d2b4-4003-a66e-87337ea6427e
nic:0:dhcp 91.203.56.72
[Start of Page] [Start of
Section]
8.7 All servers info
| GET /servers/info |
| GET /guests/info |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| HTTP Code 400 |
| Error key/value pairs |
| Requires authorization: Yes |
|
| Examples: |
GET /servers/info
Returns:
HTTP Code 200
status active
rx 0
name node003
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server 179f2015-f28b-4537-beab-a5d30d5fd4e2
ide:0:0 7cdddd0a-3caa-49c3-b02d-66054880a0b8
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:0:model e1000
nic:1:mac 42:ff:6d:27:2a:55
vnc:ip 91.203.56.133
smp 1
cpu 2000
nic:0:dhcp 91.203.56.133
status active
rx 0
name node012
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server 22a53074-a098-4e2f-9997-9a8bf055830a
ide:0:0 ad2545e9-b8ed-465a-9da7-57a02507ccc8
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac ca:15:c3:b4:0e:44
vnc:ip 91.203.56.76
smp 1
cpu 2000
status active
rx 0
name node001
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server 28644a70-9e81-4a3e-85ea-91129f724034
ide:0:0 74744450-d338-4087-b3b8-59b505110a57
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac 3e:76:0e:3b:13:1a
vnc:ip 91.203.56.71
smp 1
cpu 2000
status active
rx 0
name node008
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server 55cac183-e6f6-4c41-b2ac-b124336401bd
ide:0:0 04a83b07-f5a2-4811-ac68-ad38baf4f02d
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac 6a:fc:42:b1:04:a2
vnc:ip 91.203.56.77
smp 1
cpu 2000
status active
rx 0
name node010
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server 6140e660-8e10-43f4-8511-1ad2f7d63ffd
ide:0:0 3309eb92-207f-4311-94fe-08f75d985cc5
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac b2:33:51:01:95:e6
vnc:ip 91.203.56.75
smp 1
cpu 2000
status active
name dbserver2
tx 0
nic:1:model e1000
mem 4096
vnc:password KD9R3jcF
cpu 4000
rx 0
persistent true
ide:0:1 8b741c45-45a7-47ec-bad5-21bba738ecdb
ide:0:0 33524286-8a31-4708-91ed-00c0e22c7933
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:0:model e1000
nic:1:mac d2:ff:96:74:61:f7
vnc:ip 91.203.56.73
smp 4
server a7a1653b-4ba5-4e12-8a45-a46b7230b2cb
nic:0:dhcp 91.203.56.73
status active
rx 0
name node011
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server b2e644e2-d749-4625-a306-2c8d481a722e
ide:0:0 115b770b-743f-427d-a817-86cf5207cedd
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac ea:18:ec:af:42:25
vnc:ip 91.203.56.78
smp 1
cpu 2000
status active
rx 80967670
name gateway
tx 7214582
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server b91bd1cd-c63b-45ae-9dda-69fc53d74f41
ide:0:0 4ee35c17-243b-43e6-9a5f-b679f3d36e86
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:0:model e1000
nic:1:mac c6:c3:33:54:fd:b3
vnc:ip 91.203.56.132
smp 1
cpu 2000
nic:0:dhcp 91.203.56.132
status active
name dbserver1
tx 0
nic:1:model e1000
mem 4096
rx 0
boot ide:0:0
vnc:password KD9R3jcF
persistent true
ide:0:1 76096e90-6e34-40b6-9ef5-216abe6b330b
ide:0:0 529ec0ce-f930-4b69-8aca-d438e9bbe6d3
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
cpu 4000
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:0:model e1000
nic:1:mac 66:c8:fd:23:a7:a2
vnc:ip 91.203.56.72
smp 4
server bb783ced-d2b4-4003-a66e-87337ea6427e
nic:0:dhcp 91.203.56.72
status active
rx 0
name node006
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server c041eb14-c511-4734-89db-bb0b0b9db605
ide:0:0 76018dc4-941c-4bc5-af59-15d391976512
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac 0a:7e:4a:74:35:3d
vnc:ip 91.203.56.79
smp 1
cpu 2000
status active
rx 0
name node009
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
vnc:password KD9R3jcF
persistent true
server e375ebf5-47ff-45c6-8f69-8ae45aaf95b2
ide:0:0 919f4cf1-de69-4828-8b01-e505f3e233ba
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:1:mac 26:6b:f6:3f:5b:13
vnc:ip 91.203.56.74
smp 1
cpu 2000
status active
rx 14074
name node005
tx 0
nic:1:model e1000
mem 4096
boot ide:0:0
cpu 2000
vnc:password KD9R3jcF
persistent true
server e4d50a5c-b516-4993-8d73-c36e7782fbbb
ide:0:0 666f076f-d2cc-4c4c-a8b2-2acb0f52fc3a
nic:1:vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nic:0:model e1000
nic:1:mac ee:9c:05:ed:c1:a2
vnc:ip 91.203.56.70
smp 1
ide:1:0 f0026ff4-09d3-4fd0-a5c9-dfe652e01c99
nic:0:dhcp 91.203.56.70
[Start of Page] [Start of
Section]
8.8 Server change
| POST /servers/UUID/set |
| POST /guests/UUID/set |
| Key values pairs: |
| Key |
Notes |
| name |
Server name. |
| parent |
UUID of parent object, if any. |
| cpu |
cpu quota in core MHz. |
| smp |
number of virtual processors or `auto' to calculate based on
cpu. |
| mem |
virtual memory size in MB. |
| ide:BUS[0-1]:UNIT[0-1] |
| block:INDEX[0-7] |
Drive UUID to connect as specified device. |
| ide:BUS[0-1]:UNIT[0-1]:media |
| block:INDEX[0-7]:media |
Media type - set to `cdrom' to simulate a cdrom, set to `disk'
or leave unset to simulate a hard disk. |
| boot |
Device to boot, e.g. ide:0:0 or ide:1:0. Set to a list to make
multiple devices bootable. |
| nic:0:model |
Create network interface with given type (use `e1000' as
default value; `rtl8139' or `virtio' are also available). |
| nic:0:dhcp |
The 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. |
| nic:1:model |
Create network interface with given type (use `e1000' as
default value; `rtl8139' or `virtio' are also available). |
| nic:1:vlan |
The VLAN to which the network interface is attached. |
| nic:1:mac |
The MAC address of the network interface. If unset, a randomly
generated address is used. If set, should be unique on the
VLAN. |
| vnc:ip |
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. |
| vnc:password |
Password for VNC access. If unset, VNC is disabled. |
| 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. |
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
[Start of Page] [Start of
Section]
8.9 Server stop
| GET /servers/UUID/stop |
| GET /guests/UUID/stop |
| Returns: |
| -Success: |
| HTTP Code 204 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/stop
Returns:
HTTP Code 204
[Start of Page] [Start of
Section]
8.10 Server shutdown
| GET /servers/UUID/shutdown |
| GET /guests/UUID/shutdown |
| Returns: |
| -Success: |
| HTTP Code 204 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/shutdown
Returns:
HTTP Code 204
[Start of Page] [Start of
Section]
8.11 Server start
| GET /servers/UUID/start |
| GET /guests/UUID/start |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/start
Returns:
HTTP Code 204
[Start of Page] [Start of
Section]
8.12 Server destroy
| GET /servers/UUID/destroy |
| GET /guests/UUID/destroy |
| Returns: |
| -Success: |
| HTTP Code 204 |
| Key/value pairs |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/destroy
Returns:
HTTP Code 204
[Start of Page] [Start of
Section]
8.13 Multiple servers stop
| POST /servers/stop |
| POST /guests/stop |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| server:NUMBER |
SERVER_UUID |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servers/stop
server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
server:1 179f2015-f28b-4537-beab-a5d30d5fd4e2
server:2 e4d50a5c-b516-4993-8d73-c36e7782fbb
Returns:
TODO
[Start of Page] [Start of
Section]
8.14 Multiple servers
start
| POST /servers/start |
| POST /guests/start |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| server:NUMBER |
SERVER_UUID |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servers/start
server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
server:1 179f2015-f28b-4537-beab-a5d30d5fd4e2
server:2 e4d50a5c-b516-4993-8d73-c36e7782fbb
Returns:
HTTP Code 200 (or may be will be better 204)
[Start of Page] [Start of
Section]
9 Resources
API
9.1 VLAN list
9.2 VLAN info
9.3 VLAN create
9.4 VLAN rename
9.5 Static IP info
9.6 Static IP list
9.7 Static IP create
9.8 Static IP destroy
[Start of Page]
9.1 VLAN
list
GET /resources/vlan/list
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /resources/vlan/list
Returns:
vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
[Start of Page]
[Start of Section]
9.2 VLAN
info
GET /resources/vlan/UUID/info
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| resource |
UUID |
String |
Yes |
|
| type |
vlan |
String |
Yes |
|
| user |
USER_UUID |
String |
Yes |
|
| name |
VLAN_NAME |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Errors: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /resources/vlan/6e2d1f6a-03c8-422b-bc8e-d744612cf46a/info
Returns:
HTTP Code 200
resource 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
type vlan
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
name My VLAN
[Start of Page]
[Start of Section]
9.3 VLAN
create
| POST /resources/vlan/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
VLAN_NAME |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /resources/vlan/create
name My VLAN1
Returns:
HTTP Code 200
resource 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
type vlan
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
name My VLAN1
[Start of Page]
[Start of Section]
9.4 VLAN
rename
| POST /resources/vlan/UUID/set |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
VLAN_NAME |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /resources/vlan/6e2d1f6a-03c8-422b-bc8e-d744612cf46a/info
name My VLAN1
Returns:
HTTP Code 200
resource 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
type vlan
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
name My VLAN1
[Start of Page]
[Start of Section]
9.5 Static
IP Info
GET /resources/ip/info
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value list |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /resources/ip/info
Returns:
resource 178.22.67.72
name p9
netmask 255.255.248.0
user a7ef3fa9-23ce-4a6f-8660-983d96991692
nameserver 178.22.66.167 178.22.64.25
type ip
gateway 178.22.64.1
[Start of Page]  
[Start of Section]
9.6 Static
IP list
GET /resources/ip/list
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value list |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /resources/ip/list
Returns:
HTTP Code 200
ip 91.203.56.71
ip 91.203.56.70
ip 91.203.56.78
[Start of Page]
[Start of Section]
9.7 Static
IP create
POST /resources/ip/create
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /resources/ip/create
Returns:
HTTP Code 200
resource 91.203.56.71
netmask 255.255.255.0
user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
nameserver 91.203.56.1
type ip
gateway 91.203.56.1
[Start of Page]
[Start of Section]
9.8 Static
IP destroy
GET /resources/ip/IP/destroy
| Returns: |
| -Success: |
| HTTP Code 204 |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /resources/91.203.56.71/destroy
Returns:
HTTP Code 204
[Start of Page]
[Start of Section]
10 UI
API
10.1 Server group create
10.2 Server group rename
10.3 Server group destroy
10.4 Servers groups list
10.5 Servers group info
10.6 Get server group name
10.7 Add servers to group
10.8 Remove servers from group
10.9 Start servers in group
10.10 Stop servers in group
[Start of Page]
10.1 Server group create
| POST /servergroups/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
GROUP_NAME |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servergroups/create
name Database Servers
Returns:
HTTP Code 200
uuid 7baa150e-00ca-4f48-ac6c-02e59b23d04d
name Database Servers
[Start of Page]
[Start of Section]
10.2 Server group rename
| POST /servergroupss/UUID/set |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
GROUP_NAME |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servergroups/set
name Web Servers
Returns:
HTTP Code 200
name Web Servers
description
[Start of Page]
[Start of Section]
10.3 Server group destroy
| POST /servergroupss/UUID/destroy |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| name |
GROUP_NAME |
String |
Yes |
|
| description |
DESCRIPTION/NOTES |
String |
No |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servergroups/destroy
Returns:
HTTP Code 200 (or may be will be better 204)
[Start of Page]
[Start of Section]
10.4 Servers groups list
| GET /servergroups/list |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Server groups UUID list |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servergroups/list
Returns:
HTTP Code 200
11e0eda4-fa7e-49a9-abcd-0988666bd9b4
a814f0f1-21f5-45e8-9ecd-2748d76c016a
24af14f6-5d8c-442b-9cfa-2db6a03c2458
[Start of Page]
[Start of Section]
10.5 Servers group info
| GET /servergroups/UUID/info |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Server groups UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servergroups/abee3635-74b2-4592-849a-a7897e209645/info
Returns:
HTTP Code 200
uuid abee3635-74b2-4592-849a-a7897e209645
name Database Servers
[Start of Page]
[Start of Section]
10.6 Get
server group name
| GET /servergroups/UUID/info |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servergroups/92f5ba00-7851-4ebf-9c0f-b5311ceed042/info
Returns:
HTTP Code 200
name Database servers
description all kind of database servers
[Start of Page]
[Start of Section]
10.7 Add
servers to group
| POST /servergroups/UUID/add |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| server:NUMBER |
SERVER_UUID |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servergroups/add
server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
server:1 179f2015-f28b-4537-beab-a5d30d5fd4e2
server:2 e4d50a5c-b516-4993-8d73-c36e7782fbb
Returns:
b91bd1cd-c63b-45ae-9dda-69fc53d74f41
179f2015-f28b-4537-beab-a5d30d5fd4e2
e4d50a5c-b516-4993-8d73-c36e7782fbb
[Start of Page]
[Start of Section]
10.8 Remove servers from group
| POST /servergroups/UUID/remove |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| server:NUMBER |
SERVER_UUID |
String |
Yes |
|
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /servergroups/remove
server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
Returns:
179f2015-f28b-4537-beab-a5d30d5fd4e2
e4d50a5c-b516-4993-8d73-c36e7782fbb
[Start of Page]
[Start of Section]
10.9 Start servers in group
| GET /servergroups/UUID/start |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servergroups/92f5ba00-7851-4ebf-9c0f-b5311ceed042/start
Returns:
HTTP Code 200
fe467c69-6da1-4e9e-8b22-62135641ab68
3c6adc8d-f7f6-44c9-8061-dcc095ec034b
843fb463-9eac-4ab5-aff7-d437d47e5590
9fcd25e4-5a49-45a6-80df-3cedfad46d65
b9c158a3-a7ef-4ca4-b9f5-cb965f40a7e4
[Start of Page]
[Start of Section]
10.10 Stop servers in group
| GET /servergroups/UUID/stop |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /servergroups/92f5ba00-7851-4ebf-9c0f-b5311ceed042/stop
Returns:
HTTP Code 200
fe467c69-6da1-4e9e-8b22-62135641ab68
3c6adc8d-f7f6-44c9-8061-dcc095ec034b
843fb463-9eac-4ab5-aff7-d437d47e5590
9fcd25e4-5a49-45a6-80df-3cedfad46d65
b9c158a3-a7ef-4ca4-b9f5-cb965f40a7e4
[Start of Page]
[Start of Section]
11 Billing
API
11.1 System currencies list
11.2 Current use
11.3 Current pricing
11.4 Transaction history
11.5 Balance
11.6 Total subscribed resources
11.7 Total subscribed network
resources
11.8 Subscriptions list
11.9 Resource subscriptions add
11.10 Resource subscriptions create
11.11 IPs subscriptions create
11.12 IPs subscriptions calculate
11.13 VLANs subscriptions
create
11.14 VLANs subscriptions
calculate
11.15 Software subscriptions create
11.16 Software subscriptions
calculate
11.17 Extending subscriptiont
11.18 Calculate subscription
extension
[Start of Page]
11.1 System currencies list
| GET /currencies/list |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /currencies/list
Returns:
HTTP Code 200
EUR
GBP
USD
[Start of Page]
[Start of Section]
11.2 Current use
| GET /usage/info |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| cpu |
CURRENT_CPU_USE |
Integer |
Yes |
|
| Current CPU usage MHz mem |
CURRENT_RAM_USE |
Integer |
Yes |
|
| Current RAM usage Mb disk |
CURRENT_DISK_USE |
Integer |
Yes |
|
| Current disk usage cpu:burst |
BURST_CPU_USE |
Integer |
Yes |
|
| Burst CPU usage MHz mem:burst |
BURST_RAM_USE |
Integer |
Yes |
|
| Burst RAM usage Mb disk:burst |
BURST_DISK_USE |
Integer |
Yes |
|
| cpu:sub |
SUBSCRIPTION_CPU_USE |
Integer |
Yes |
|
| Subscribed CPU mem:sub |
SUBSCRIPTION_RAM_USE |
Integer |
Yes |
|
| Subscribed RAM disk:sub |
SUBSCRIPTION_DISK_USE |
Integer |
Yes |
|
| Subscribed disk |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /usage/info
Returns:
HTTP Code 200
cpu 24000
mem 43008
disk 1173
cpu:burst 21000
mem:burst 41008
disk:burst 173
cpu:sub 3000
mem:sub 2000
disk:sub 1000
rx:total 2342343
tx:total 0.001
xfer:total 0.001
xfer:burst
xfer:sub
[Start of Page]
[Start of Section]
11.3 Current pricing
| GET /pricing/info |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /pricing/info
Returns:
HTTP Code 200
start 2010-02-23 17:18:32.401708
end 2010-02-23 17:23:32.401708
cpu:sub 0.200
cpu:burst 1.500
mem:sub 0.200
mem:burst 0.000
xfer:sub 0.01
xfer:burst 0.01
disk:sub 0.200
disk:burst 0.200
ip 2.00
vlan 5.00
msft_lwa_00135 10.00
msft_p73_04837 20.00
msft_tfa_00009 15.00
[Start of Page]
[Start of Section]
11.4 Transaction history
| GET /transactions/list |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs list |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /transactions/list
Returns:
HTTP Code 200
date 2010-02-24 11:04:18
description 5 minutes of burst virtual server use at rate of 2.750 from 2010-02-24 10:10:04 until 2010-02-24 10:15:04
value n/a
tax n/a
total -13.75
date 2010-02-24 11:04:13
description 5 minutes of burst virtual server use at rate of 2.750 from 2010-02-24 10:05:03 until 2010-02-24 10:10:03
value n/a
tax n/a
total -13.75
date 2010-02-24 10:27:52
description 6 minutes of burst virtual server use at rate of 2.750 from 2010-02-24 10:20:04 until 2010-02-24 10:26:04
value n/a
tax n/a
total -16.50
date 2010-02-24 10:27:50
description 6 minutes of burst virtual server use at rate of 2.750 from 2010-02-24 10:15:05 until 2010-02-24 10:21:05
value n/a
tax n/a
total -16.50
date 2010-02-24 10:27:48
description 6 minutes of burst virtual server use at rate of 2.750 from 2010-02-24 10:10:04 until 2010-02-24 10:16:04
value n/a
tax n/a
total -16.50
date 2010-02-24 10:27:47
description 6 minutes of burst virtual server use at rate of 2.750 from 2010-02-24 10:05:03 until 2010-02-24 10:11:03
value n/a
tax n/a
total -16.50
[Start of Page]
[Start of Section]
| GET /balance/info |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| balance |
AMOUNT |
Integer |
Yes |
|
| Balance amount currency |
CURRENCY |
String |
Yes |
|
| Currency from account profile |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /balance/info
Returns:
HTTP Code 200
balance 1220.87
currency EUR
[Start of Page]
[Start of Section]
11.6 Total subscribed resources
| GET /subscriptions/resources/info |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
[Start of Page]
[Start of Section]
11.7 Total subscribed network
resources
| GET /subscriptions/net/info |
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
[Start of Page]
[Start of Section]
11.8 Subscriptions list
| GET /subscriptions/list |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| type |
cpu - mem - disk - xfer |
String |
Yes |
|
| type_str |
LABEL |
String |
Yes |
|
| unit |
Unit label |
String |
Yes |
|
| quantity |
QUANTITY |
Integer |
Yes |
|
| start_time |
SUBSCRIPTION_START |
Date |
|
| end_time |
SUBSCRIPTION_END |
Date |
Yes |
|
| months |
MONTHS |
Integer |
Yes |
|
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Key/value pairs list |
| -Error: |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
GET /subscriptions/list
Returns:
HTTP Code 200
type xfer
type_str Committed data transfer
unit GB per month
quantity 10
start_time 2010-03-08 21:15:18
end_time 2010-04-08 21:15:18
type disk
type_str Disk
unit GB
quantity 100
start_time 2010-03-08 21:15:18
end_time 2010-04-08 21:15:18
type mem
type_str Memory
unit MB
quantity 2000
start_time 2010-03-08 21:15:18
end_time 2010-04-08 21:15:18
type cpu
type_str CPU
unit core MHz
quantity 2000
start_time 2010-03-08 21:15:18
end_time 2010-04-08 21:15:18
[Start of Page]
[Start of Section]
11.9 Resource subscriptions add
| POST /subscriptions/resources/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| type |
cpu - mem - disk - xfer |
String |
Yes |
|
| type_str |
LABEL |
String |
Yes |
Return only |
| unit |
Unit label |
String |
Yes |
Return only |
| quantity |
QUANTITY |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Servers UUID list |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/resources/create
cpu 2000
mem 2000
disk 100
xfer 10
start_time 2010-03-20 13:20
months 1
Returns:
cpu 2000
mem 2000
disk 100
xfer 10
start_time 2010-03-20 13:20
end_time 2010-03-20 13:20
[Start of Page]
[Start of Section]
11.10 Resource subscriptions
create
| POST /subscriptions/resources/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| type |
cpu - mem - disk - xfer |
String |
Yes |
|
| type_str |
LABEL |
String |
Yes |
Return only |
| unit |
Unit label |
String |
Yes |
Return only |
| quantity |
QUANTITY |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscription info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/resources/create
cpu 2000
mem 2000
disk 100
xfer 10
start_time 2010-04-12 00:00
months 1
Returns:
type cpu
subscription 233bfb80-a1a8-4e9a-a1e4-d7822a87b681
type_str CPU
unit core MHz
quantity 2000
start_time 2010-03-10 21:24
end_time 2010-04-10 21:24
type mem
subscription be59f94b-b684-4715-83f6-75c97bd65cc9
type_str Memory
unit MB
quantity 2000
start_time 2010-03-10 21:24
end_time 2010-04-10 21:24
type disk
subscription ed69da42-6a92-4527-8129-de5568580c99
type_str Disk
unit GB
quantity 100
start_time 2010-03-10 21:24
end_time 2010-04-10 21:24
type xfer
subscription 5a005402-1853-4cb7-b207-4ff06b4c975e
type_str Committed data transfer
unit GB per month
quantity 10
start_time 2010-03-10 21:24
end_time 2010-04-10 21:24
POST /subscriptions/resources/create
cpu 1000
mem 1000
disk 100
xfer 10
start_time 2010-03-22 00:12
months 1
Returns:
cpu 1000
errors:cpu The minimum CPU subscription is 2000 core MHz
mem 1000
errors:mem The minimum memory subscription is 1024 MB
disk 100
xfer 10
start_time 2010-03-22 00:12
end_time 2010-04-22 00:12
[Start of Page]
[Start of Section]
11.11 IPs subscriptions create
| POST /subscriptions/network/ip/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| type |
ip |
String |
Yes |
Return only |
| type_str |
LABEL |
String |
Yes |
Return only |
| unit |
Unit label |
String |
Yes |
Return only |
| quantity |
QUANTITY |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscriptions info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/network/ip/create
quantity 2
start_time 2010-03-23 00:00
months 1
Returns:
type ip
resource 91.203.56.75
type_str Static IP address admin
unit IPs
quantity 2
start_time 2010-03-10 11:49:09
end_time 2010-04-10 11:49:09
type ip
resource 91.203.56.77
type_str Static IP address admin
unit IPs
quantity 2
start_time 2010-03-10 11:49
end_time 2010-04-10 11:49
POST /subscriptions/network/ip/create
quantity 1
Returns:
quantity 1
start_time
errors:start_time This field is required.
end_time
[Start of Page]
[Start of Section]
11.12 IPs subscriptions
calculate
| POST /subscriptions/network/ip/calculate |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| type |
ip |
String |
Yes |
Return only |
| type_str |
LABEL |
String |
Yes |
Return only |
| unit |
Unit label |
String |
Yes |
Return only |
| quantity |
QUANTITY |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscriptions info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/network/ip/calculate
quantity 2
start_time 2010-03-22 00:00
months 1
Returns:
amount 16.00
currency EUR
[Start of Page]
[Start of Section]
11.13 VLANs subscriptions create
| POST /subscriptions/network/vlan/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| type |
vlan |
String |
Yes |
Return only |
| type_str |
LABEL |
String |
Yes |
Return only |
| unit |
Unit label |
String |
Yes |
Return only |
| quantity |
QUANTITY |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscriptions info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/network/vlan/create
quantity 1
start_time 2010-03-09 14:04
months 1
Returns:
type vlan
resource 727d8022-9045-48ff-92ae-a4d243bab890
type_str Private network VLAN
unit VLANs
quantity 1
start_time 2010-03-10 19:30
end_time 2010-04-10 19:30
[Start of Page]
[Start of Section]
11.14 VLANs subscriptions
calculate
| POST /subscriptions/network/vlan/calculate |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| type |
vlan |
String |
Yes |
Return only |
| type_str |
LABEL |
String |
Yes |
Return only |
| unit |
Unit label |
String |
Yes |
Return only |
| quantity |
QUANTITY |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscriptions info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/network/vlan/calculate
quantity 2
start_time 2010-03-22 00:00
months 1
Returns:
amount 40.00
currency EUR
[Start of Page]
[Start of Section]
11.15 Software subscriptions
create
| POST /subscriptions/software/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| msft_lwa_00135 |
Windows Web Server 2008 |
Integer |
Yes |
|
| msft_p73_04837 |
Windows Server 2008 Standard |
Integer |
Yes |
|
| msft_tfa_00009 |
Microsoft SQL Server 2008 Web Edition |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscriptions info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/software/create
msft_lwa_00135 1
msft_p73_04837 0
msft_tfa_00009 0
start_time 2010-03-21 12:21
months 1
Returns:
msft_lwa_00135 1
msft_p73_04837 0
msft_tfa_00009 0
start_time 2010-03-21 12:21
end_time 2010-03-31 12:21:00
[Start of Page]
[Start of Section]
11.16 Software subscriptions
calculate
| POST /subscriptions/software/create |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| msft_lwa_00135 |
Windows Web Server 2008 |
Integer |
Yes |
|
| msft_p73_04837 |
Windows Server 2008 Standard |
Integer |
Yes |
|
| msft_tfa_00009 |
Microsoft SQL Server 2008 Web Edition |
Integer |
Yes |
|
| start_date |
SUBSCRIPTION_START |
Date |
Yes |
Format Y-m-d H:M |
| end_date |
SUBSCRIPTION_END |
Date |
Yes |
Return only. Format Y-m-d H:M |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscriptions info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/software/calculate
msft_lwa_00135 1
msft_p73_04837 1
msft_tfa_00009 1
start_time 2010-03-22 00:00
months 1
Returns:
amount 45.00
currency EUR
[Start of Page]
[Start of Section]
11.17 Extending subscription
| POST /subscriptions/UUID/set |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscription info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/c8308b4d-3c98-472c-9944-024b9c700c10/set
months 1
Returns:
type cpu
subscription c8308b4d-3c98-472c-9944-024b9c700c10
type_str CPU
unit core MHz
quantity 2000
start_time 2010-03-10 20:58
end_time 2010-07-10 20:58
[Start of Page]
[Start of Section]
11.18 Calculate subscription
extension
| POST /subscriptions/UUID/set/calculate |
| Key values pairs: |
| Key |
Value |
Type |
Required |
Notes |
| months |
MONTHS |
Integer |
Yes |
Input only |
|
| Returns: |
| -Success: |
| HTTP Code 200 |
| Subscription info |
| -Error: |
| Invalid input: |
| HTTP Code 400 |
| Error key/value
pairs |
| Unauthorized: |
| HTTP Code 401 |
| Requires authorization: Yes |
|
| Examples: |
POST /subscriptions/3cb16f75-1bac-48a4-8b29-e021d4fa0019/set/calculate
months 1
Returns:
amount 60.00
currency EUR
[Start of Page]
[Start of Section]