Servers / VMs¶
Allowed HTTP methods¶
Method | Description |
---|---|
GET | get / list object/s |
POST | create new object/s |
PUT | update / modify object/s |
DELETE | delete object/s |
Note
See RFC 2616 for more details on HTTP methods semantics
Listing¶
- GET /servers/¶
Gets the list of servers to which the authenticated user has access.
Status Codes: - 200 – no error
Example request:
GET /api/2.0/servers/?limit=0 HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "meta": { "limit": 0, "offset": 0, "total_count": 9 }, "objects": [ { "name": "test_server_0", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/36bb3ef5-c736-4b4f-ad67-f7c52e67daf7/", "runtime": null, "status": "stopped", "uuid": "36bb3ef5-c736-4b4f-ad67-f7c52e67daf7" }, { "name": "test_start_stop_server_37", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/e8383fc4-334a-43d0-920d-1ce46fcec194/", "runtime": null, "status": "stopping", "uuid": "e8383fc4-334a-43d0-920d-1ce46fcec194" }, { "name": "test_start_stop_server_36", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/2d1e33d0-b522-4abb-aed8-9a96d9a0ac79/", "runtime": null, "status": "stopping", "uuid": "2d1e33d0-b522-4abb-aed8-9a96d9a0ac79" }, { "name": "test_start_stop_server_38", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/ccb40020-f7e8-4d14-871b-e5f3e18305f0/", "runtime": null, "status": "stopping", "uuid": "ccb40020-f7e8-4d14-871b-e5f3e18305f0" }, { "name": "test_start_stop_server_39", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/d7b305be-c324-46b4-87be-a5331b1cff71/", "runtime": null, "status": "stopping", "uuid": "d7b305be-c324-46b4-87be-a5331b1cff71" }, { "name": "test_server_4", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/70cf198a-3e5d-4d36-a0bd-ec764a7b0541/", "runtime": null, "status": "stopped", "uuid": "70cf198a-3e5d-4d36-a0bd-ec764a7b0541" }, { "name": "test_server_1", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/dbed7cff-9adb-44aa-95fa-9dfbc95b251a/", "runtime": null, "status": "stopped", "uuid": "dbed7cff-9adb-44aa-95fa-9dfbc95b251a" }, { "name": "test_server_3", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/64b63b99-bebb-4166-8572-06d81f4ad991/", "runtime": null, "status": "stopped", "uuid": "64b63b99-bebb-4166-8572-06d81f4ad991" }, { "name": "test_server_2", "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "resource_uri": "/api/2.0/servers/0d26e0d3-c0a5-4712-abea-ab4bede69b1c/", "runtime": null, "status": "stopped", "uuid": "0d26e0d3-c0a5-4712-abea-ab4bede69b1c" } ] }
Detailed listing¶
- GET /servers/detail/¶
Gets the detailed list of servers to which the authenticated user has access.
Status Codes: - 200 – no error
Example request:
GET /api/2.0/servers/detail/?limit=0 HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "meta": { "limit": 0, "offset": 0, "total_count": 9 }, "objects": [ { "context": true, "cpu": 1000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_server_0", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/36bb3ef5-c736-4b4f-ad67-f7c52e67daf7/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "36bb3ef5-c736-4b4f-ad67-f7c52e67daf7", "vnc_password": "testserver" }, { "context": true, "cpu": 500, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_start_stop_server_37", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/e8383fc4-334a-43d0-920d-1ce46fcec194/", "runtime": null, "smp": 1, "status": "stopping", "tags": [], "uuid": "e8383fc4-334a-43d0-920d-1ce46fcec194", "vnc_password": "testserver" }, { "context": true, "cpu": 500, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_start_stop_server_36", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/2d1e33d0-b522-4abb-aed8-9a96d9a0ac79/", "runtime": null, "smp": 1, "status": "stopping", "tags": [], "uuid": "2d1e33d0-b522-4abb-aed8-9a96d9a0ac79", "vnc_password": "testserver" }, { "context": true, "cpu": 500, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_start_stop_server_38", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/ccb40020-f7e8-4d14-871b-e5f3e18305f0/", "runtime": null, "smp": 1, "status": "stopping", "tags": [], "uuid": "ccb40020-f7e8-4d14-871b-e5f3e18305f0", "vnc_password": "testserver" }, { "context": true, "cpu": 500, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_start_stop_server_39", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/d7b305be-c324-46b4-87be-a5331b1cff71/", "runtime": null, "smp": 1, "status": "stopping", "tags": [], "uuid": "d7b305be-c324-46b4-87be-a5331b1cff71", "vnc_password": "testserver" }, { "context": true, "cpu": 1000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_server_4", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/70cf198a-3e5d-4d36-a0bd-ec764a7b0541/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "70cf198a-3e5d-4d36-a0bd-ec764a7b0541", "vnc_password": "testserver" }, { "context": true, "cpu": 1000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_server_1", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/dbed7cff-9adb-44aa-95fa-9dfbc95b251a/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "dbed7cff-9adb-44aa-95fa-9dfbc95b251a", "vnc_password": "testserver" }, { "context": true, "cpu": 1000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_server_3", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/64b63b99-bebb-4166-8572-06d81f4ad991/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "64b63b99-bebb-4166-8572-06d81f4ad991", "vnc_password": "testserver" }, { "context": true, "cpu": 1000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_server_2", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/0d26e0d3-c0a5-4712-abea-ab4bede69b1c/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "0d26e0d3-c0a5-4712-abea-ab4bede69b1c", "vnc_password": "testserver" } ] }
Creating¶
- POST /servers/¶
Creates a new virtual server or multiple servers. The minimial amount of information you need to set is as follows
Status Codes: - 201 – object created
Example request:
POST /api/2.0/servers/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "objects": [ { "cpu": 1000, "mem": 536870912, "name": "testServerAcc", "vnc_password": "testserver" } ] }
Example response:
HTTP/1.1 201 CREATED Content-Type: application/json; charset=utf-8 { "objects": [ { "context": true, "cpu": 1000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "testServerAcc", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/f143dfc2-8155-4841-ae53-102af3222440/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "f143dfc2-8155-4841-ae53-102af3222440", "vnc_password": "testserver" } ] }
Editing¶
- PUT /servers/{uuid}/¶
Edits a server. Used also for attaching NIC’s and drives to servers. Note that if a server is running, only name, meta, and tags fields can be changed, and all other changes to the definition of a running server will be ignored.
Status Codes: - 200 – no error
Example request:
PUT /api/2.0/servers/cfb395bb-5955-49ec-935d-a7577a646eb2/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "cpu": 2000, "mem": 536870912, "name": "test_server_updated", "vnc_password": "updated_password" }
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "context": true, "cpu": 2000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "test_server_updated", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/cfb395bb-5955-49ec-935d-a7577a646eb2/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "cfb395bb-5955-49ec-935d-a7577a646eb2", "vnc_password": "updated_password" }
Attach a drive¶
- PUT /servers/{uuid}/¶
Attaching a drive is just an edit server operation.
Status Codes: - 200 – no error
Example request:
PUT /api/2.0/servers/cfb395bb-5955-49ec-935d-a7577a646eb2/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "cpu": 2000, "drives": [ { "boot_order": 1, "dev_channel": "0:0", "device": "virtio", "drive": "440af451-2948-4cff-924d-40b8bfcdbb51" } ], "mem": 536870912, "name": "test_server_updated", "vnc_password": "updated_password" }
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "context": true, "cpu": 2000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [ { "boot_order": 1, "dev_channel": "0:0", "device": "virtio", "drive": { "resource_uri": "/api/2.0/drives/440af451-2948-4cff-924d-40b8bfcdbb51/", "uuid": "440af451-2948-4cff-924d-40b8bfcdbb51" }, "runtime": null } ], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": { "meta_key2": "value2", "meta_key3": "value3" }, "name": "test_server_updated", "nics": [], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/cfb395bb-5955-49ec-935d-a7577a646eb2/", "runtime": null, "smp": 1, "status": "stopped", "tags": [], "uuid": "cfb395bb-5955-49ec-935d-a7577a646eb2", "vnc_password": "updated_password" }
Meta¶
It is possible to add arbitrary key-value data to a server definition. See Objects’ meta field for more information.
Device channel¶
Device channel is used to specify the controller number and unit number for each attached drive. This is used so every time you reboot your virtual machine, the drive remains on the same place in your guest OS ( ex: /dev/sdc ) You specify the channel in the following format - {controller}:{unit} with the following limits for ide and virtio device types:
- ide - 0:0, 0:1, 1:0, 1:1 ( total of 4 drives, max 2 units per controller, i.e 0-1)
- virtio - 0:0, ..., 0:5, ..., 1:0, etc ( total of 1024 drives, max 6 units per controller i.e 0-5)
Deleting¶
Single server¶
- DELETE /servers/{uuid}/¶
Deletes a single server.
Status Codes: - 204 – No content, object deletion started.
Example request:
DELETE /api/2.0/servers/f143dfc2-8155-4841-ae53-102af3222440/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response:
HTTP/1.1 204 NO CONTENT Content-Type: text/html; charset=utf-8
Delete Server together with attached drives (recursive delete)¶
- DELETE /servers/{uuid}/?recurse={recurse_option}¶
It is possible to delete a server together with it’s drives (recursive delete). There are three options: delete all attached drives, delete only disks(non-cdrom drives), or delete only attached cdroms. To recursively delete drives, supply a recurse URL parameter with a value as described in the following table:
Recurse option | Effect |
---|---|
all_drives | All attached drives regardless of media type will be deleted |
disks | Only attached drives with media type disk will be deleted |
cdroms | Only attached drives with media type cdrom will be deleted |
Example request to delete a server with all attached drives:
A server is created with a cdrom and disk drives:
HTTP/1.1 201 CREATED
Content-Type: application/json; charset=utf-8
{
"objects": [
{
"context": true,
"cpu": 1000,
"cpu_model": null,
"cpus_instead_of_cores": false,
"drives": [
{
"boot_order": 1,
"dev_channel": "0:0",
"device": "virtio",
"drive": {
"resource_uri": "/api/2.0/drives/f4d61242-23e6-49a2-81d8-9dc1b71940f8/",
"uuid": "f4d61242-23e6-49a2-81d8-9dc1b71940f8"
},
"runtime": null
},
{
"boot_order": null,
"dev_channel": "0:0",
"device": "ide",
"drive": {
"resource_uri": "/api/2.0/drives/b21e48e1-6563-4deb-9300-76654642cb93/",
"uuid": "b21e48e1-6563-4deb-9300-76654642cb93"
},
"runtime": null
}
],
"enable_numa": false,
"hv_relaxed": false,
"hv_tsc": false,
"mem": 268435456,
"meta": {
"description": "A full server with description"
},
"name": "test_acc_full_server",
"nics": [
{
"boot_order": null,
"firewall_policy": null,
"ip_v4_conf": {
"conf": "dhcp",
"ip": null
},
"ip_v6_conf": null,
"mac": "22:35:82:2b:4a:7c",
"model": "virtio",
"runtime": null,
"vlan": null
}
],
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"requirements": [],
"resource_uri": "/api/2.0/servers/7785ef60-7a0b-4a11-ae67-29746d141f99/",
"runtime": null,
"smp": 1,
"status": "stopped",
"tags": [],
"uuid": "7785ef60-7a0b-4a11-ae67-29746d141f99",
"vnc_password": "tester"
}
]
}
The following drives are available in the account:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"meta": {
"limit": 0,
"offset": 0,
"total_count": 5
},
"objects": [
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {},
"mounted_on": [],
"name": "test_drive_1",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/f4d61242-23e6-49a2-81d8-9dc1b71940f8/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 1024000000,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "f4d61242-23e6-49a2-81d8-9dc1b71940f8"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "cdrom",
"meta": {},
"mounted_on": [],
"name": "test_drive_2",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/b21e48e1-6563-4deb-9300-76654642cb93/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 1024000000,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "b21e48e1-6563-4deb-9300-76654642cb93"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {
"description": "",
"install_notes": ""
},
"mounted_on": [],
"name": "atom-qnez",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/a9b9eae5-096b-45a3-8b35-8be31547f749/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 11811160064,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "a9b9eae5-096b-45a3-8b35-8be31547f749"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [
{
"amount": 1,
"license": {
"burstable": false,
"long_name": "Windows Server 2008 Standard",
"name": "msft_p73_04837",
"resource_uri": "/api/2.0/licenses/13/",
"type": "instance",
"user_metric": ""
},
"user": null
}
],
"media": "disk",
"meta": {
"arch": "32",
"category": "general",
"description": "Please refer to the install notes for a full guide to initial configuration.",
"favourite": "False",
"image_type": "preinst",
"install_notes": "<script type=\"text/javascript\">alert(\"a\");</script>***You must update the default Administrator password for Windows Server Standard 2003***\\n\\nPre-installed Windows Server 2003 Standard 32bit English on 08/10/2010\\n==========================================================\\n\\n1. Connecting to your server via VNC\\n--------------------------------------------------\\n\\na) Having installed a compatible VNC client, open a VNC connection to your server.\\n\\nb) Enter your IP address and VNC password as displayed on your Server Summary Window.\\n\\nc) Start to configure your server.\\n\\n\\n2. Minimum Hardware Requirements\\n---------------------------------------------------\\n\\nThe recommended minimum hardware requirements as publishes by Microsoft can be found through \\n\\nthe following link:\\n\\nhttp://technet.microsoft.com/en-us/library/cc738496(WS.10).aspx\\n\\nWe recommend specifying a higher level of RAM for a better user experience.\\n\\n\\n3. Update your administrator password\\n-----------------------------------------------------\\n\\nThe default administrator password is set to: CloudSigma1\\n\\nPlease CHANGE this IMMEDIATELY after first logging on.\\n\\na) Select "Start" | "Administrative Tools" | "Computer Management"\\n\\nb) Select "System Tools" | "Local Users and Groups" | "Users"\\n\\nc) Right click on "Administrator" and select "Set Password"\\n\\nd) Enter a new administrative password\\n\\nProceed to select Users and Groups according to your Domain policies.\\n\\n4. Configuring your Networking\\n------------------------------------------\\n\\na) IP networking can be left as DHCP. Even if you are using a static IP address with this server our management layer will apply the same IP address via DHCP. Using DHCP ensures you will have no issues receiving the correct networking settings. We recommend using DHCP initially if only to receive all the correct networking settings.\\n\\nb) CloudSigma employs an open networking infrastructure. All ports are open for inbound and outbound traffic with the exception of port 25 (SMTP) which is blocked for trial users. It is important that you secure access to your server according to your needs.\\n\\n\\n5. Expanding your drive\\n--------------------------------\\n\\nThe system is fully installed, but you will need to extend the disk partition to cover the whole of your drive. To do this:\\n\\na) Open the "Computer Management" tool from "Administrative Tools" on the "Start" menu.\\n\\nb) Select "Storage" then "Disk Management" in the left hand pane.\\n\\nc) Right-click on the "Unallocated" partition volume and select "New Partition".\\n\\nd) This will start the "New Partition Wizard". For the purposes of these instructions we will extend the existing partition.\\n\\ne) Select "Primary Partition" and click "Next".\\n\\nf) Select the maximum "Partition size in MB" you require or leave the default value. Click "Next".\\n\\ng) Assign a drive letter, and click "Next".\\n\\nh) Enter your Format Partition values including the "File System" type, "Allocation unit size" \\n\\nand a "Volume label". We recommend leaving the default value for the File System format and the Allocation unit size. Click "Next" to continue.\\n\\ni) click Finish to complete the process. The new volume will now be formatted and setup.\\n\\nYou may also use third party tools to create and manage your partitions.\\n\\n\\n6. Enabling Remote Access\\n--------------------------------------\\n\\nAfter logging in to VNC for the first time to configure your new Windows server, we recommend \\nthat if you are logging in from a Windows Desktop that you enable Remote Desktop for better access performance. To do this, follow these instructions:\\n\\na) Select "Start" | "Applications" | "Control Panel"\\n\\nb) Select "System" and select the "Remote" tab\\n\\nc) Enable the "Allow users to connect remotely to this computer" under the "System" checkbox\\n\\n\\n7. Pinging Service\\n-------------------------\\n\\nThe Pinging service has been turned on by default, if you wish to disable it please follow these instructions:\\n\\na) Select "Start" | "Applications" | "Control Panel" | "Windows Firewall"\\n\\nb) Select the "Advanced" tab\\n\\nc) Click on the "Settings" button under the "ICMP" section\\n\\nd) Unselect "Allow incoming echo request" checkbox\\n\\ne) Press "OK" to return to the Windows Firewall, and press "OK" again to finalise the change\\n",
"os": "windows",
"paid": "True",
"url": ""
},
"mounted_on": [],
"name": "Windows Server 2003 Standard 32bit English Preinstalled System",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/f714eb49-e35a-438c-82d9-82960da8942f/",
"runtime": {
"is_snapshotable": false,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 13958643712,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "f714eb49-e35a-438c-82d9-82960da8942f"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {
"description": "",
"install_notes": ""
},
"mounted_on": [],
"name": "otom",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/36e1644f-5f3b-4601-b50a-e34e397803e9/",
"runtime": {
"is_snapshotable": false,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 11811160064,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "36e1644f-5f3b-4601-b50a-e34e397803e9"
}
]
}
The server is recursively deleted with all drives:
DELETE /api/2.0/servers/7785ef60-7a0b-4a11-ae67-29746d141f99/?recurse=all_drives HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
After DELETE of the server the, drives attached to the server are deleted:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"meta": {
"limit": 0,
"offset": 0,
"total_count": 3
},
"objects": [
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {
"description": "",
"install_notes": ""
},
"mounted_on": [],
"name": "atom-qnez",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/a9b9eae5-096b-45a3-8b35-8be31547f749/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 11811160064,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "a9b9eae5-096b-45a3-8b35-8be31547f749"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {
"description": "",
"install_notes": ""
},
"mounted_on": [],
"name": "otom",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/36e1644f-5f3b-4601-b50a-e34e397803e9/",
"runtime": {
"is_snapshotable": false,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 11811160064,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "36e1644f-5f3b-4601-b50a-e34e397803e9"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [
{
"amount": 1,
"license": {
"burstable": false,
"long_name": "Windows Server 2008 Standard",
"name": "msft_p73_04837",
"resource_uri": "/api/2.0/licenses/13/",
"type": "instance",
"user_metric": ""
},
"user": null
}
],
"media": "disk",
"meta": {
"arch": "32",
"category": "general",
"description": "Please refer to the install notes for a full guide to initial configuration.",
"favourite": "False",
"image_type": "preinst",
"install_notes": "<script type=\"text/javascript\">alert(\"a\");</script>***You must update the default Administrator password for Windows Server Standard 2003***\\n\\nPre-installed Windows Server 2003 Standard 32bit English on 08/10/2010\\n==========================================================\\n\\n1. Connecting to your server via VNC\\n--------------------------------------------------\\n\\na) Having installed a compatible VNC client, open a VNC connection to your server.\\n\\nb) Enter your IP address and VNC password as displayed on your Server Summary Window.\\n\\nc) Start to configure your server.\\n\\n\\n2. Minimum Hardware Requirements\\n---------------------------------------------------\\n\\nThe recommended minimum hardware requirements as publishes by Microsoft can be found through \\n\\nthe following link:\\n\\nhttp://technet.microsoft.com/en-us/library/cc738496(WS.10).aspx\\n\\nWe recommend specifying a higher level of RAM for a better user experience.\\n\\n\\n3. Update your administrator password\\n-----------------------------------------------------\\n\\nThe default administrator password is set to: CloudSigma1\\n\\nPlease CHANGE this IMMEDIATELY after first logging on.\\n\\na) Select "Start" | "Administrative Tools" | "Computer Management"\\n\\nb) Select "System Tools" | "Local Users and Groups" | "Users"\\n\\nc) Right click on "Administrator" and select "Set Password"\\n\\nd) Enter a new administrative password\\n\\nProceed to select Users and Groups according to your Domain policies.\\n\\n4. Configuring your Networking\\n------------------------------------------\\n\\na) IP networking can be left as DHCP. Even if you are using a static IP address with this server our management layer will apply the same IP address via DHCP. Using DHCP ensures you will have no issues receiving the correct networking settings. We recommend using DHCP initially if only to receive all the correct networking settings.\\n\\nb) CloudSigma employs an open networking infrastructure. All ports are open for inbound and outbound traffic with the exception of port 25 (SMTP) which is blocked for trial users. It is important that you secure access to your server according to your needs.\\n\\n\\n5. Expanding your drive\\n--------------------------------\\n\\nThe system is fully installed, but you will need to extend the disk partition to cover the whole of your drive. To do this:\\n\\na) Open the "Computer Management" tool from "Administrative Tools" on the "Start" menu.\\n\\nb) Select "Storage" then "Disk Management" in the left hand pane.\\n\\nc) Right-click on the "Unallocated" partition volume and select "New Partition".\\n\\nd) This will start the "New Partition Wizard". For the purposes of these instructions we will extend the existing partition.\\n\\ne) Select "Primary Partition" and click "Next".\\n\\nf) Select the maximum "Partition size in MB" you require or leave the default value. Click "Next".\\n\\ng) Assign a drive letter, and click "Next".\\n\\nh) Enter your Format Partition values including the "File System" type, "Allocation unit size" \\n\\nand a "Volume label". We recommend leaving the default value for the File System format and the Allocation unit size. Click "Next" to continue.\\n\\ni) click Finish to complete the process. The new volume will now be formatted and setup.\\n\\nYou may also use third party tools to create and manage your partitions.\\n\\n\\n6. Enabling Remote Access\\n--------------------------------------\\n\\nAfter logging in to VNC for the first time to configure your new Windows server, we recommend \\nthat if you are logging in from a Windows Desktop that you enable Remote Desktop for better access performance. To do this, follow these instructions:\\n\\na) Select "Start" | "Applications" | "Control Panel"\\n\\nb) Select "System" and select the "Remote" tab\\n\\nc) Enable the "Allow users to connect remotely to this computer" under the "System" checkbox\\n\\n\\n7. Pinging Service\\n-------------------------\\n\\nThe Pinging service has been turned on by default, if you wish to disable it please follow these instructions:\\n\\na) Select "Start" | "Applications" | "Control Panel" | "Windows Firewall"\\n\\nb) Select the "Advanced" tab\\n\\nc) Click on the "Settings" button under the "ICMP" section\\n\\nd) Unselect "Allow incoming echo request" checkbox\\n\\ne) Press "OK" to return to the Windows Firewall, and press "OK" again to finalise the change\\n",
"os": "windows",
"paid": "True",
"url": ""
},
"mounted_on": [],
"name": "Windows Server 2003 Standard 32bit English Preinstalled System",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/f714eb49-e35a-438c-82d9-82960da8942f/",
"runtime": {
"is_snapshotable": false,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 13958643712,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "f714eb49-e35a-438c-82d9-82960da8942f"
}
]
}
Example request to delete a server with attached disk drives and leave CDROMs:
A server is created with a cdrom and disk drives:
HTTP/1.1 201 CREATED
Content-Type: application/json; charset=utf-8
{
"objects": [
{
"context": true,
"cpu": 1000,
"cpu_model": null,
"cpus_instead_of_cores": false,
"drives": [
{
"boot_order": 1,
"dev_channel": "0:0",
"device": "virtio",
"drive": {
"resource_uri": "/api/2.0/drives/f4d61242-23e6-49a2-81d8-9dc1b71940f8/",
"uuid": "f4d61242-23e6-49a2-81d8-9dc1b71940f8"
},
"runtime": null
},
{
"boot_order": null,
"dev_channel": "0:0",
"device": "ide",
"drive": {
"resource_uri": "/api/2.0/drives/b21e48e1-6563-4deb-9300-76654642cb93/",
"uuid": "b21e48e1-6563-4deb-9300-76654642cb93"
},
"runtime": null
}
],
"enable_numa": false,
"hv_relaxed": false,
"hv_tsc": false,
"mem": 268435456,
"meta": {
"description": "A full server with description"
},
"name": "test_acc_full_server",
"nics": [
{
"boot_order": null,
"firewall_policy": null,
"ip_v4_conf": {
"conf": "dhcp",
"ip": null
},
"ip_v6_conf": null,
"mac": "22:35:82:2b:4a:7c",
"model": "virtio",
"runtime": null,
"vlan": null
}
],
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"requirements": [],
"resource_uri": "/api/2.0/servers/7785ef60-7a0b-4a11-ae67-29746d141f99/",
"runtime": null,
"smp": 1,
"status": "stopped",
"tags": [],
"uuid": "7785ef60-7a0b-4a11-ae67-29746d141f99",
"vnc_password": "tester"
}
]
}
The following drives are available in the account:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"meta": {
"limit": 0,
"offset": 0,
"total_count": 5
},
"objects": [
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {},
"mounted_on": [],
"name": "test_drive_1",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/e4268acb-ad00-42cf-bb9b-40d8df735774/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 1024000000,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "e4268acb-ad00-42cf-bb9b-40d8df735774"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "cdrom",
"meta": {},
"mounted_on": [],
"name": "test_drive_2",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/da2f6084-fbeb-4afe-aa8e-93de0b2e1011/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 1024000000,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "da2f6084-fbeb-4afe-aa8e-93de0b2e1011"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {
"description": "",
"install_notes": ""
},
"mounted_on": [],
"name": "atom-qnez",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/a9b9eae5-096b-45a3-8b35-8be31547f749/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 11811160064,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "a9b9eae5-096b-45a3-8b35-8be31547f749"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [
{
"amount": 1,
"license": {
"burstable": false,
"long_name": "Windows Server 2008 Standard",
"name": "msft_p73_04837",
"resource_uri": "/api/2.0/licenses/13/",
"type": "instance",
"user_metric": ""
},
"user": null
}
],
"media": "disk",
"meta": {
"arch": "32",
"category": "general",
"description": "Please refer to the install notes for a full guide to initial configuration.",
"favourite": "False",
"image_type": "preinst",
"install_notes": "<script type=\"text/javascript\">alert(\"a\");</script>***You must update the default Administrator password for Windows Server Standard 2003***\\n\\nPre-installed Windows Server 2003 Standard 32bit English on 08/10/2010\\n==========================================================\\n\\n1. Connecting to your server via VNC\\n--------------------------------------------------\\n\\na) Having installed a compatible VNC client, open a VNC connection to your server.\\n\\nb) Enter your IP address and VNC password as displayed on your Server Summary Window.\\n\\nc) Start to configure your server.\\n\\n\\n2. Minimum Hardware Requirements\\n---------------------------------------------------\\n\\nThe recommended minimum hardware requirements as publishes by Microsoft can be found through \\n\\nthe following link:\\n\\nhttp://technet.microsoft.com/en-us/library/cc738496(WS.10).aspx\\n\\nWe recommend specifying a higher level of RAM for a better user experience.\\n\\n\\n3. Update your administrator password\\n-----------------------------------------------------\\n\\nThe default administrator password is set to: CloudSigma1\\n\\nPlease CHANGE this IMMEDIATELY after first logging on.\\n\\na) Select "Start" | "Administrative Tools" | "Computer Management"\\n\\nb) Select "System Tools" | "Local Users and Groups" | "Users"\\n\\nc) Right click on "Administrator" and select "Set Password"\\n\\nd) Enter a new administrative password\\n\\nProceed to select Users and Groups according to your Domain policies.\\n\\n4. Configuring your Networking\\n------------------------------------------\\n\\na) IP networking can be left as DHCP. Even if you are using a static IP address with this server our management layer will apply the same IP address via DHCP. Using DHCP ensures you will have no issues receiving the correct networking settings. We recommend using DHCP initially if only to receive all the correct networking settings.\\n\\nb) CloudSigma employs an open networking infrastructure. All ports are open for inbound and outbound traffic with the exception of port 25 (SMTP) which is blocked for trial users. It is important that you secure access to your server according to your needs.\\n\\n\\n5. Expanding your drive\\n--------------------------------\\n\\nThe system is fully installed, but you will need to extend the disk partition to cover the whole of your drive. To do this:\\n\\na) Open the "Computer Management" tool from "Administrative Tools" on the "Start" menu.\\n\\nb) Select "Storage" then "Disk Management" in the left hand pane.\\n\\nc) Right-click on the "Unallocated" partition volume and select "New Partition".\\n\\nd) This will start the "New Partition Wizard". For the purposes of these instructions we will extend the existing partition.\\n\\ne) Select "Primary Partition" and click "Next".\\n\\nf) Select the maximum "Partition size in MB" you require or leave the default value. Click "Next".\\n\\ng) Assign a drive letter, and click "Next".\\n\\nh) Enter your Format Partition values including the "File System" type, "Allocation unit size" \\n\\nand a "Volume label". We recommend leaving the default value for the File System format and the Allocation unit size. Click "Next" to continue.\\n\\ni) click Finish to complete the process. The new volume will now be formatted and setup.\\n\\nYou may also use third party tools to create and manage your partitions.\\n\\n\\n6. Enabling Remote Access\\n--------------------------------------\\n\\nAfter logging in to VNC for the first time to configure your new Windows server, we recommend \\nthat if you are logging in from a Windows Desktop that you enable Remote Desktop for better access performance. To do this, follow these instructions:\\n\\na) Select "Start" | "Applications" | "Control Panel"\\n\\nb) Select "System" and select the "Remote" tab\\n\\nc) Enable the "Allow users to connect remotely to this computer" under the "System" checkbox\\n\\n\\n7. Pinging Service\\n-------------------------\\n\\nThe Pinging service has been turned on by default, if you wish to disable it please follow these instructions:\\n\\na) Select "Start" | "Applications" | "Control Panel" | "Windows Firewall"\\n\\nb) Select the "Advanced" tab\\n\\nc) Click on the "Settings" button under the "ICMP" section\\n\\nd) Unselect "Allow incoming echo request" checkbox\\n\\ne) Press "OK" to return to the Windows Firewall, and press "OK" again to finalise the change\\n",
"os": "windows",
"paid": "True",
"url": ""
},
"mounted_on": [],
"name": "Windows Server 2003 Standard 32bit English Preinstalled System",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/f714eb49-e35a-438c-82d9-82960da8942f/",
"runtime": {
"is_snapshotable": false,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 13958643712,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "f714eb49-e35a-438c-82d9-82960da8942f"
},
{
"affinities": [],
"allow_multimount": false,
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {
"description": "",
"install_notes": ""
},
"mounted_on": [],
"name": "otom",
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/36e1644f-5f3b-4601-b50a-e34e397803e9/",
"runtime": {
"is_snapshotable": false,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 11811160064,
"snapshots": [],
"status": "unmounted",
"storage_type": "dssd",
"tags": [],
"uuid": "36e1644f-5f3b-4601-b50a-e34e397803e9"
}
]
}
The server is recursively deleted with all attached drives with media type disk:
DELETE /api/2.0/servers/e2a22e69-d898-48b3-8e9a-b3d752a26df9/?recurse=disks HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
After DELETE of the server, only drives with media type disk attached to the server are deleted. CDROMs are left intact:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"meta": {
"limit": 0,
"offset": 0,
"total_count": 4
},
"objects": [
{
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/da2f6084-fbeb-4afe-aa8e-93de0b2e1011/",
"status": "unmounted",
"uuid": "da2f6084-fbeb-4afe-aa8e-93de0b2e1011"
},
{
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/a9b9eae5-096b-45a3-8b35-8be31547f749/",
"status": "unmounted",
"uuid": "a9b9eae5-096b-45a3-8b35-8be31547f749"
},
{
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/f714eb49-e35a-438c-82d9-82960da8942f/",
"status": "unmounted",
"uuid": "f714eb49-e35a-438c-82d9-82960da8942f"
},
{
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"resource_uri": "/api/2.0/drives/36e1644f-5f3b-4601-b50a-e34e397803e9/",
"status": "unmounted",
"uuid": "36e1644f-5f3b-4601-b50a-e34e397803e9"
}
]
}
Server Runtime and Server Details¶
- GET /servers/{uuid}/¶
Gets detailed information for server identified by server_uuid.
Status Codes: - 200 – no error
If the server is started the definition includes a runtime attribute. The runtime object contains information on, when the server was started, and runtime information about the server NICs, such as how much traffic went through the interface and what are the dynamic IPs assigned to the NIC. The NIC runtime is also available in the NIC definition of the running server.
Example request:
GET /api/2.0/servers/7a7181c7-eb25-4ad4-b6fa-6b8dbe9f2830/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "context": true, "cpu": 1000, "cpu_model": null, "cpus_instead_of_cores": false, "drives": [ { "boot_order": 1, "dev_channel": "0:0", "device": "virtio", "drive": { "resource_uri": "/api/2.0/drives/815eb6bc-8d3f-4642-b22b-b3c86dc2a02b/", "uuid": "815eb6bc-8d3f-4642-b22b-b3c86dc2a02b" }, "runtime": { "io": { "bytes_read": 430080, "bytes_written": 0, "count_read": 88, "count_written": 0 } } } ], "enable_numa": false, "hv_relaxed": false, "hv_tsc": false, "mem": 536870912, "meta": {}, "name": "testServerAcc", "nics": [ { "boot_order": null, "firewall_policy": null, "ip_v4_conf": { "conf": "dhcp", "ip": null }, "ip_v6_conf": null, "mac": "22:0a:18:ba:21:9b", "model": "virtio", "runtime": { "interface_type": "public", "io": { "bytes_recv": 0, "bytes_sent": 0, "packets_recv": 0, "packets_sent": 0 }, "ip_v4": { "resource_uri": "/api/2.0/ips/31.171.248.69/", "uuid": "31.171.248.69" }, "ip_v6": null }, "vlan": null } ], "owner": { "resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/", "uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71" }, "requirements": [], "resource_uri": "/api/2.0/servers/7a7181c7-eb25-4ad4-b6fa-6b8dbe9f2830/", "runtime": { "active_since": "2013-12-10T11:39:36+00:00", "nics": [ { "interface_type": "public", "io": { "bytes_recv": 0, "bytes_sent": 0, "packets_recv": 0, "packets_sent": 0 }, "ip_v4": { "resource_uri": "/api/2.0/ips/31.171.248.69/", "uuid": "31.171.248.69" }, "ip_v6": null, "mac": "22:0a:18:ba:21:9b" } ] }, "smp": 1, "status": "running", "tags": [], "uuid": "7a7181c7-eb25-4ad4-b6fa-6b8dbe9f2830", "vnc_password": "testserver" }
Server Actions¶
Start¶
- POST /servers/{uuid}/action/?do=start¶
Starts a server with specific UUID.
Status Codes: - 202 – Action accepted, execution is proceeding.
Example request:
POST /api/2.0/servers/f143dfc2-8155-4841-ae53-102af3222440/action/?do=start HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop {}
Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json; charset=utf-8 { "action": "start", "result": "success", "uuid": "f143dfc2-8155-4841-ae53-102af3222440" }
Warning
Servers have some default network restrictions, applied depending on your user state. Please refer to the default restrictions section the Firewall policies documentation
Stop¶
- POST /servers/{uuid}/action/?do=stop¶
Stops a server with specific UUID.
Status Codes: - 202 – Action accepted, execution is proceeding.
Example request:
POST /api/2.0/servers/f143dfc2-8155-4841-ae53-102af3222440/action/?do=stop HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop {}
Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json; charset=utf-8 { "action": "stop", "result": "success", "uuid": "f143dfc2-8155-4841-ae53-102af3222440" }
Start in a separate availability group¶
It is possible to hint the system which servers are preferred to run on separate hardware host. See Starting Servers in a Different Availability Group (Start Avoid).
Open VNC Tunnel¶
- POST /servers/{uuid}/action/?do=open_vnc¶
Opens a VNC tunnel to a server with specific UUID.
Status Codes: - 202 – Action accepted, execution is proceeding.
Note
VNC URL will be different each time you close/open the tunnel.
Example request:
POST /api/2.0/servers/cbfa0d17-641c-4f50-84ed-336a82fafd66/action/?do=open_vnc HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop {}
Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json; charset=utf-8 { "action": "open_vnc", "result": "success", "uuid": "cbfa0d17-641c-4f50-84ed-336a82fafd66", "vnc_url": "vnc://turloapi-staging.lvs.cloudsigma.com:44319" }
Close VNC Tunnel¶
- POST /servers/{uuid}/action/?do=close_vnc¶
Closes a VNC tunnel to a server with specific UUID.
Status Codes: - 202 – Action accepted, execution is proceeding.
Example request:
POST /api/2.0/servers/cbfa0d17-641c-4f50-84ed-336a82fafd66/action/?do=close_vnc HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop {}
Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json; charset=utf-8 { "action": "close_vnc", "result": "success", "uuid": "cbfa0d17-641c-4f50-84ed-336a82fafd66" }
Cloning¶
- POST /servers/{uuid}/action/?do=clone¶
statuscode 202: | Action accepted, execution is proceeding. |
---|
Clones a server. Does cascading clone of server drives, i.e. all disk drives attached to the server are cloned and attached to the new server. CDROM drives attached to the clone source are attached to the clone. IPs of the cloned server are set to DHCP. All other properties of the clone are equal to the original.
The optional body can contain a name attribute, which will be the name of the newly-cloned server and/or random_vnc_password boolean attribute which if set will generate a new vnc password for the new server.
Example clone source server:
{
"context": true,
"cpu": 1000,
"cpu_model": null,
"cpus_instead_of_cores": false,
"drives": [],
"enable_numa": false,
"hv_relaxed": false,
"hv_tsc": false,
"mem": 536870912,
"meta": {},
"name": "testServerAcc",
"nics": [],
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"requirements": [],
"resource_uri": "/api/2.0/servers/7e76c0b8-87b4-42f7-a690-b06546418e27/",
"runtime": null,
"smp": 1,
"status": "stopped",
"tags": [],
"uuid": "7e76c0b8-87b4-42f7-a690-b06546418e27",
"vnc_password": "testserver"
}
Example clone request:
POST /api/2.0/servers/7e76c0b8-87b4-42f7-a690-b06546418e27/action/?do=clone HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
{
"name": "test cloned server name",
"random_vnc_password": true
}
Example clone response:
HTTP/1.1 202 ACCEPTED
Content-Type: application/json; charset=utf-8
{
"context": true,
"cpu": 1000,
"cpu_model": null,
"cpus_instead_of_cores": false,
"drives": [],
"enable_numa": false,
"hv_relaxed": false,
"hv_tsc": false,
"mem": 536870912,
"meta": {},
"name": "test cloned server name",
"nics": [],
"owner": {
"resource_uri": "/api/2.0/user/42cb107b-d57a-4808-93d9-2d3f9ae4fe71/",
"uuid": "42cb107b-d57a-4808-93d9-2d3f9ae4fe71"
},
"requirements": [],
"resource_uri": "/api/2.0/servers/5a132abb-ddf1-42de-9c83-05b2efe1b896/",
"runtime": null,
"smp": 1,
"status": "stopped",
"tags": [],
"uuid": "5a132abb-ddf1-42de-9c83-05b2efe1b896",
"vnc_password": "yEgYtpxj"
}
Cloning with Drives on Different Storage (Avoid)¶
It is possible to hint the system which drives are preferred to be on separate physical storage host. See Creating Drives in a Different Availability Group (Create/Clone Avoid). I
Server NIC Configurations¶
The network interfaces are configured in the “nics” attribute. For more information on configuring network interfaces check Server Network Interfaces section.
Here is an example of defining a network interface with a dynamically assigned IP (for brevity only the “nics” attribute of the definitions is shown):
PUT /api/2.0/servers/6e4af205-09d7-4274-b75a-d0aa534afc44/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
{
"nics": [
{
"vlan": "fda95788-5fee-4555-8561-b69b943fca69"
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"nics": [
{
"boot_order": null,
"firewall_policy": null,
"ip_v4_conf": null,
"ip_v6_conf": null,
"mac": "22:24:d4:26:fd:73",
"model": "virtio",
"runtime": null,
"vlan": {
"resource_uri": "/api/2.0/vlans/fda95788-5fee-4555-8561-b69b943fca69/",
"uuid": "fda95788-5fee-4555-8561-b69b943fca69"
}
}
]
}
Availability groups¶
It is possible to query which servers share common hardware hosts. See Server availability groups.
Advanced settings¶
On every server configuration there are a few advanced options you can setup.
{
"cpus_instead_of_cores": false,
"enable_numa": false,
"hv_relaxed": false,
"hv_tsc": false
}
- cpus_instead_of_cores:
- Type: true/false
- Description: selects whether the SMP is exposed as cores of a single CPU or separate CPUs. This should be set to false for Windows, because there are license requirements for multiple CPUs.
- enable_numa:
- Type: true/false
- Description: This option exposes the NUMA/CPU topology of the hypervisor to the virtual machine. It boosts performance for NUMA aware applications. The option should be set to true for guests with SMP bigger than 6, since this is the number of cores we have per NUMA node on the hypervisor. If set to true, cpus_instead_of_cores should also be set to true for Linux, because some Linux distributions do not support multiple NUMA nodes on multple CPU cores, but only on multiple CPUs.
- hv_relaxed
- Type: true/false
- Description: Relax constraints on timers. This improves the behavior of VMs running Windows.
- hv_tsc:
- Type: true/false
- Description: Enables more precise timers for Windows. This boost performance for timer specific code.
Warning
hv_relaxed and hv_tsc should be set to false for VMs running Linux
Server State Diagram¶
Schema¶
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"allowed_detail_http_methods": [
"get",
"put",
"delete"
],
"allowed_list_http_methods": [
"get",
"put",
"delete",
"post"
],
"default_format": "application/json",
"default_limit": 20,
"fields": {
"context": {
"default": true,
"help_text": "Enable guest context serial device",
"readonly": false,
"required": false,
"type": "boolean"
},
"cpu": {
"default": null,
"help_text": "Server's CPU Clock speed measured in MHz",
"readonly": false,
"required": true,
"type": "integer"
},
"cpu_model": {
"choices": [
"kvm64"
],
"default": null,
"help_text": "Choose the virtual CPU model, for mitigating compatibility issues between the guest operating system and the underlying host's CPU. If not specified, all of the hypervisor's CPU capabilities are passed directly to the virtual machine.",
"readonly": false,
"required": false,
"type": "string"
},
"cpus_instead_of_cores": {
"default": false,
"help_text": "Expose server SMPs as separate CPUs, instead of cores of a single CPU.",
"readonly": false,
"required": false,
"type": "boolean"
},
"drives": {
"default": [],
"fields": {
"boot_order": {
"default": null,
"help_text": "Drive boot order",
"readonly": false,
"required": false,
"type": "integer"
},
"dev_channel": {
"default": null,
"help_text": "Device channel in format {controller:unit} ex. 0:1, 0:2, etc. Keep in mind that there are limits based on emulation type - for example ide can have up to 2 controllers, 2 units each.",
"readonly": false,
"required": true,
"type": "string"
},
"device": {
"choices": [
"ide",
"virtio"
],
"default": null,
"help_text": "Device emulation type",
"readonly": false,
"required": true,
"type": "string"
},
"drive": {
"default": null,
"help_text": "Drive UUID",
"readonly": false,
"required": true,
"type": "related"
},
"runtime": {
"default": "No default provided.",
"fields": {
"io": {
"default": null,
"fields": {
"bytes_read": {
"default": 0,
"help_text": "Integer data. Ex: 2673",
"readonly": false,
"required": true,
"type": "integer"
},
"bytes_written": {
"default": 0,
"help_text": "Integer data. Ex: 2673",
"readonly": false,
"required": true,
"type": "integer"
},
"count_read": {
"default": 0,
"help_text": "Integer data. Ex: 2673",
"readonly": false,
"required": true,
"type": "integer"
},
"count_written": {
"default": 0,
"help_text": "Integer data. Ex: 2673",
"readonly": false,
"required": true,
"type": "integer"
}
},
"help_text": "A single related resource. Can be either a URI or set of nested resource data.",
"readonly": false,
"required": false,
"type": "related"
}
},
"help_text": "Attached drive's runtime information",
"readonly": true,
"required": false,
"type": "related"
}
},
"help_text": "List of attached Drives to server",
"readonly": false,
"required": false,
"type": "related"
},
"enable_numa": {
"default": false,
"help_text": "Expose NUMA topology to the server.",
"readonly": false,
"required": false,
"type": "boolean"
},
"hv_relaxed": {
"default": false,
"help_text": "Improve performance of Windows servers.",
"readonly": false,
"required": false,
"type": "boolean"
},
"hv_tsc": {
"default": false,
"help_text": "Improves performance of Windows servers with the trade off that the servers cannot be live migrated.",
"readonly": false,
"required": false,
"type": "boolean"
},
"mem": {
"default": null,
"help_text": "Server's Random Access Memory measured in bytes",
"readonly": false,
"required": true,
"type": "integer"
},
"meta": {
"default": {},
"help_text": "User assigned meta information for this server",
"readonly": false,
"required": false,
"type": "dict"
},
"name": {
"default": null,
"help_text": "Human readable name of server",
"readonly": false,
"required": true,
"type": "string"
},
"nics": {
"default": [],
"fields": {
"boot_order": {
"default": null,
"help_text": "Device boot order",
"readonly": false,
"required": false,
"type": "integer"
},
"firewall_policy": {
"default": null,
"help_text": "Firewall policy",
"readonly": false,
"required": false,
"type": "related"
},
"ip_v4_conf": {
"default": null,
"fields": {
"conf": {
"choices": [
"dhcp",
"static",
"manual"
],
"default": null,
"help_text": "Configuration type",
"readonly": false,
"required": false,
"type": "string"
},
"ip": {
"default": null,
"help_text": "An IP address reference. Only used in 'static' IP configuration type",
"readonly": false,
"required": false,
"type": "related"
}
},
"help_text": "Public IPv4 configuration",
"readonly": false,
"required": false,
"type": "related"
},
"ip_v6_conf": {
"default": null,
"fields": {
"conf": {
"choices": [
"dhcp",
"static",
"manual"
],
"default": null,
"help_text": "Configuration type",
"readonly": false,
"required": false,
"type": "string"
},
"ip": {
"default": null,
"help_text": "An IP address reference. Only used in 'static' IP configuration type",
"readonly": false,
"required": false,
"type": "related"
}
},
"help_text": "Public IPv6 configuration",
"readonly": false,
"required": false,
"type": "related"
},
"mac": {
"default": null,
"help_text": "MAC address of the server NIC",
"readonly": false,
"required": true,
"type": "string"
},
"model": {
"choices": [
"ne2k_isa",
"i82551",
"i82557b",
"i82559er",
"ne2k_pci",
"pcnet",
"rtl8139",
"e1000",
"virtio"
],
"default": null,
"help_text": "Model of NIC",
"readonly": false,
"required": false,
"type": "string"
},
"runtime": {
"default": "No default provided.",
"fields": {
"interface_type": {
"choices": [
"public",
"private"
],
"default": null,
"help_text": "Type of interface",
"readonly": false,
"required": true,
"type": "string"
},
"io": {
"default": null,
"fields": {
"bytes_recv": {
"default": 0,
"help_text": "Bytes received on this interface",
"readonly": false,
"required": false,
"type": "integer"
},
"bytes_sent": {
"default": 0,
"help_text": "Packets received on this interface",
"readonly": false,
"required": false,
"type": "integer"
},
"packets_recv": {
"default": 0,
"help_text": "Bytes sent from this interface",
"readonly": false,
"required": false,
"type": "integer"
},
"packets_sent": {
"default": 0,
"help_text": "Packets sent from this interface",
"readonly": false,
"required": false,
"type": "integer"
}
},
"help_text": "NIC runtime Input and Output data",
"readonly": false,
"required": false,
"type": "related"
},
"ip_v4": {
"default": null,
"help_text": "Public IPv4 configuration",
"readonly": false,
"required": false,
"type": "related"
},
"ip_v6": {
"default": null,
"help_text": "Public IPv6 configuration",
"readonly": false,
"required": false,
"type": "string"
}
},
"help_text": "NIC runtime information",
"readonly": true,
"required": false,
"type": "related"
},
"vlan": {
"default": null,
"help_text": "UUID of the private VLAN",
"readonly": false,
"required": false,
"type": "related"
}
},
"help_text": "The list of nics attached to this server",
"readonly": false,
"required": false,
"type": "related"
},
"owner": {
"default": null,
"help_text": "UUID of the server owner",
"readonly": true,
"required": true,
"type": "related"
},
"requirements": {
"default": [],
"help_text": "A collection of special requirements for this server",
"readonly": false,
"required": false,
"type": "list"
},
"resource_uri": {
"default": "No default provided.",
"help_text": "Unicode string data. Ex: \"Hello World\"",
"readonly": true,
"required": true,
"type": "string"
},
"runtime": {
"default": "No default provided.",
"fields": {
"active_since": {
"default": "No default provided.",
"help_text": "Datetime object representing the exact time the guest was started.",
"readonly": false,
"required": true,
"type": "string"
},
"nics": {
"default": [],
"fields": {
"interface_type": {
"choices": [
"public",
"private"
],
"default": null,
"help_text": "Type of interface",
"readonly": false,
"required": true,
"type": "string"
},
"io": {
"default": null,
"fields": {
"bytes_recv": {
"default": 0,
"help_text": "Bytes received on this interface",
"readonly": false,
"required": false,
"type": "integer"
},
"bytes_sent": {
"default": 0,
"help_text": "Packets received on this interface",
"readonly": false,
"required": false,
"type": "integer"
},
"packets_recv": {
"default": 0,
"help_text": "Bytes sent from this interface",
"readonly": false,
"required": false,
"type": "integer"
},
"packets_sent": {
"default": 0,
"help_text": "Packets sent from this interface",
"readonly": false,
"required": false,
"type": "integer"
}
},
"help_text": "NIC runtime Input and Output data",
"readonly": false,
"required": false,
"type": "related"
},
"ip_v4": {
"default": null,
"help_text": "Public IPv4 configuration",
"readonly": false,
"required": false,
"type": "related"
},
"ip_v6": {
"default": null,
"help_text": "Public IPv6 configuration",
"readonly": false,
"required": false,
"type": "string"
},
"mac": {
"default": null,
"help_text": "MAC address of this NIC",
"readonly": false,
"required": false,
"type": "string"
}
},
"help_text": "The list of this server's NICs runtime",
"readonly": false,
"required": true,
"type": "related"
}
},
"help_text": "Runtime information of the guest",
"readonly": true,
"required": false,
"type": "related"
},
"smp": {
"default": null,
"help_text": "Symmetric Multiprocessing (SMP) i.e. number of CPU cores",
"readonly": false,
"required": false,
"type": "integer"
},
"status": {
"default": "No default provided.",
"help_text": "Status of the guest.",
"readonly": true,
"required": false,
"type": "string"
},
"tags": {
"default": [],
"help_text": "List of tags this server is associated with",
"readonly": false,
"required": false,
"type": "related"
},
"uuid": {
"default": null,
"help_text": "UUID of server",
"readonly": true,
"required": true,
"type": "string"
},
"vnc_password": {
"default": null,
"help_text": "VNC Password to connect to server",
"readonly": false,
"required": true,
"type": "string"
}
}
}