Drives
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#section-9 for more details on HTTP methods semantics
Listing
- GET /drives/
Gets the list of drives to which the authenticated user has access.
- Parameters:
fields – A set of field names specifying the returned fields
- Status Codes:
200 OK – no error
Example request 1 - default list:
GET /api/2.0/drives/?limit=0 HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response 1 - default list:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "meta": { "limit": 0, "offset": 0, "total_count": 7 }, "objects": [ { "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "resource_uri": "/api/2.0/drives/3d504199-6bac-4612-a19e-691c9c6c6728/", "status": "unmounted", "uuid": "3d504199-6bac-4612-a19e-691c9c6c6728" }, { "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "resource_uri": "/api/2.0/drives/b969d04b-b63f-4b67-9a92-c878d9d53232/", "status": "unmounted", "uuid": "b969d04b-b63f-4b67-9a92-c878d9d53232" }, { "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "resource_uri": "/api/2.0/drives/cd9580ef-692c-4da2-b64d-59c88809c30b/", "status": "unmounted", "uuid": "cd9580ef-692c-4da2-b64d-59c88809c30b" }, { "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "resource_uri": "/api/2.0/drives/b9a2e66c-81d1-4de3-aac0-b6f2bde806f1/", "status": "unmounted", "uuid": "b9a2e66c-81d1-4de3-aac0-b6f2bde806f1" }, { "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "resource_uri": "/api/2.0/drives/ea31b27b-807a-4710-b37c-c092f64bf4f7/", "status": "unmounted", "uuid": "ea31b27b-807a-4710-b37c-c092f64bf4f7" }, { "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "resource_uri": "/api/2.0/drives/e3898bfb-32d5-48d1-afd3-c28f4c8ef6d0/", "status": "unmounted", "uuid": "e3898bfb-32d5-48d1-afd3-c28f4c8ef6d0" }, { "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "resource_uri": "/api/2.0/drives/b582ed29-0cab-4e40-bf91-40d4b4dcc964/", "status": "unmounted", "uuid": "b582ed29-0cab-4e40-bf91-40d4b4dcc964" } ] }
Example request 2 - just uuid and status fields:
GET /api/2.0/drives/?fields=uuid,status&limit=0 HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response 2 - just uuid and status fields:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "meta": { "limit": 0, "offset": 0, "total_count": 7 }, "objects": [ { "status": "unmounted", "uuid": "3d504199-6bac-4612-a19e-691c9c6c6728" }, { "status": "unmounted", "uuid": "b969d04b-b63f-4b67-9a92-c878d9d53232" }, { "status": "unmounted", "uuid": "cd9580ef-692c-4da2-b64d-59c88809c30b" }, { "status": "unmounted", "uuid": "b9a2e66c-81d1-4de3-aac0-b6f2bde806f1" }, { "status": "unmounted", "uuid": "ea31b27b-807a-4710-b37c-c092f64bf4f7" }, { "status": "unmounted", "uuid": "e3898bfb-32d5-48d1-afd3-c28f4c8ef6d0" }, { "status": "unmounted", "uuid": "b582ed29-0cab-4e40-bf91-40d4b4dcc964" } ] }
Detailed listing
- GET /drives/detail/
Gets the detailed list of drives with additional information to which the authenticated user has access.
- Status Codes:
200 OK – no error
Example request:
GET /api/2.0/drives/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": 7 }, "objects": [ { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": { "description": "", "install_notes": "" }, "mounted_on": [], "name": "otom-0-take2", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/3d504199-6bac-4612-a19e-691c9c6c6728/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 12348030976, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "3d504199-6bac-4612-a19e-691c9c6c6728" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_4", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/b969d04b-b63f-4b67-9a92-c878d9d53232/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "b969d04b-b63f-4b67-9a92-c878d9d53232" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_1", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/cd9580ef-692c-4da2-b64d-59c88809c30b/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "cd9580ef-692c-4da2-b64d-59c88809c30b" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [ { "resource_uri": "/api/2.0/jobs/e81fae7b-7966-46f6-917f-d366a799b550/", "uuid": "e81fae7b-7966-46f6-917f-d366a799b550" }, { "resource_uri": "/api/2.0/jobs/3a458646-73ea-4755-a398-953a33e8200d/", "uuid": "3a458646-73ea-4755-a398-953a33e8200d" }, { "resource_uri": "/api/2.0/jobs/e048129a-7652-4ab8-a9c3-11c419954b93/", "uuid": "e048129a-7652-4ab8-a9c3-11c419954b93" }, { "resource_uri": "/api/2.0/jobs/ea3cc85a-3ab1-45dd-bea5-60ab6eda7d95/", "uuid": "ea3cc85a-3ab1-45dd-bea5-60ab6eda7d95" }, { "resource_uri": "/api/2.0/jobs/1c3b2c65-84c1-4509-b4cf-c6bb40aa67f4/", "uuid": "1c3b2c65-84c1-4509-b4cf-c6bb40aa67f4" }, { "resource_uri": "/api/2.0/jobs/e222c128-02bc-4109-ab8c-e8eaec2deb84/", "uuid": "e222c128-02bc-4109-ab8c-e8eaec2deb84" }, { "resource_uri": "/api/2.0/jobs/d73a977d-13e2-4af7-bb46-9f90a3cdb709/", "uuid": "d73a977d-13e2-4af7-bb46-9f90a3cdb709" }, { "resource_uri": "/api/2.0/jobs/9751e954-6272-4170-ace4-749234beda41/", "uuid": "9751e954-6272-4170-ace4-749234beda41" }, { "resource_uri": "/api/2.0/jobs/8d1914a9-ef59-4ca5-b0b9-94e5100e01f1/", "uuid": "8d1914a9-ef59-4ca5-b0b9-94e5100e01f1" }, { "resource_uri": "/api/2.0/jobs/8882034b-8149-4381-8e3b-3d63df48a089/", "uuid": "8882034b-8149-4381-8e3b-3d63df48a089" }, { "resource_uri": "/api/2.0/jobs/8961f56a-009e-4d70-b39a-363c86e2797f/", "uuid": "8961f56a-009e-4d70-b39a-363c86e2797f" }, { "resource_uri": "/api/2.0/jobs/b18335fd-5c38-43a0-a6ad-5e4150609317/", "uuid": "b18335fd-5c38-43a0-a6ad-5e4150609317" }, { "resource_uri": "/api/2.0/jobs/15e31b74-49bd-4d5f-b300-b1104dcebda2/", "uuid": "15e31b74-49bd-4d5f-b300-b1104dcebda2" }, { "resource_uri": "/api/2.0/jobs/ca481dd7-f6ee-48aa-b8fe-7d2ba14da03a/", "uuid": "ca481dd7-f6ee-48aa-b8fe-7d2ba14da03a" }, { "resource_uri": "/api/2.0/jobs/0d8ae7db-72e3-4a9c-bc5e-20b767fefb46/", "uuid": "0d8ae7db-72e3-4a9c-bc5e-20b767fefb46" }, { "resource_uri": "/api/2.0/jobs/f9a362a3-1c0c-4672-857d-78533e8745a4/", "uuid": "f9a362a3-1c0c-4672-857d-78533e8745a4" }, { "resource_uri": "/api/2.0/jobs/eeaf59bb-a3b4-4f07-9a5e-fac08a51bb73/", "uuid": "eeaf59bb-a3b4-4f07-9a5e-fac08a51bb73" }, { "resource_uri": "/api/2.0/jobs/5c5e4b51-21b7-446e-8dc5-d2adba7a8b72/", "uuid": "5c5e4b51-21b7-446e-8dc5-d2adba7a8b72" }, { "resource_uri": "/api/2.0/jobs/b65998cb-a061-4526-b9b8-8939e0caa726/", "uuid": "b65998cb-a061-4526-b9b8-8939e0caa726" }, { "resource_uri": "/api/2.0/jobs/2e11ce11-2016-47cd-a6cd-081961337692/", "uuid": "2e11ce11-2016-47cd-a6cd-081961337692" }, { "resource_uri": "/api/2.0/jobs/e05d7f4d-2982-47ac-aa2d-ce0cc72c2292/", "uuid": "e05d7f4d-2982-47ac-aa2d-ce0cc72c2292" }, { "resource_uri": "/api/2.0/jobs/a755c06f-0345-4233-b65b-55823e0224e7/", "uuid": "a755c06f-0345-4233-b65b-55823e0224e7" }, { "resource_uri": "/api/2.0/jobs/a4d98424-b23e-40b9-af71-aa1c772100eb/", "uuid": "a4d98424-b23e-40b9-af71-aa1c772100eb" }, { "resource_uri": "/api/2.0/jobs/61dd578a-7f91-4259-ac18-3c95faab172b/", "uuid": "61dd578a-7f91-4259-ac18-3c95faab172b" }, { "resource_uri": "/api/2.0/jobs/86d899d3-940c-401e-bc26-d8394089f993/", "uuid": "86d899d3-940c-401e-bc26-d8394089f993" }, { "resource_uri": "/api/2.0/jobs/ad920c1d-4efe-4ed4-87fd-d9d9da718667/", "uuid": "ad920c1d-4efe-4ed4-87fd-d9d9da718667" }, { "resource_uri": "/api/2.0/jobs/4d043d40-ebc4-4501-8386-9751ac19f9b9/", "uuid": "4d043d40-ebc4-4501-8386-9751ac19f9b9" }, { "resource_uri": "/api/2.0/jobs/9c05f3a1-13a5-45af-8faf-6bb47a53e2d8/", "uuid": "9c05f3a1-13a5-45af-8faf-6bb47a53e2d8" }, { "resource_uri": "/api/2.0/jobs/c7e7fe31-179b-4b38-a5fa-e3f399f683f2/", "uuid": "c7e7fe31-179b-4b38-a5fa-e3f399f683f2" }, { "resource_uri": "/api/2.0/jobs/3c31b43f-55d8-426a-8124-02c71a0b3b4e/", "uuid": "3c31b43f-55d8-426a-8124-02c71a0b3b4e" }, { "resource_uri": "/api/2.0/jobs/08312509-d90a-44e9-9f07-280d2e2935ae/", "uuid": "08312509-d90a-44e9-9f07-280d2e2935ae" }, { "resource_uri": "/api/2.0/jobs/1cd69a16-5aee-45a9-99ec-698a1266c514/", "uuid": "1cd69a16-5aee-45a9-99ec-698a1266c514" }, { "resource_uri": "/api/2.0/jobs/f1f2db65-5681-4404-888a-46aa97df6d9a/", "uuid": "f1f2db65-5681-4404-888a-46aa97df6d9a" }, { "resource_uri": "/api/2.0/jobs/11f45314-d3c1-469c-aaa0-d30d3574a62b/", "uuid": "11f45314-d3c1-469c-aaa0-d30d3574a62b" }, { "resource_uri": "/api/2.0/jobs/9ac68490-9e85-4b41-a76d-754df657dbd1/", "uuid": "9ac68490-9e85-4b41-a76d-754df657dbd1" }, { "resource_uri": "/api/2.0/jobs/93110b55-ad01-46e7-a71c-c10365e746b4/", "uuid": "93110b55-ad01-46e7-a71c-c10365e746b4" }, { "resource_uri": "/api/2.0/jobs/7e6036be-b47b-4b7a-86c8-50e9ed585404/", "uuid": "7e6036be-b47b-4b7a-86c8-50e9ed585404" }, { "resource_uri": "/api/2.0/jobs/e8d70c86-7ce2-4506-87ea-7c4a0d1eb9e5/", "uuid": "e8d70c86-7ce2-4506-87ea-7c4a0d1eb9e5" }, { "resource_uri": "/api/2.0/jobs/0b1280ae-b715-4dbc-a902-86c25603474d/", "uuid": "0b1280ae-b715-4dbc-a902-86c25603474d" }, { "resource_uri": "/api/2.0/jobs/401d7916-359a-4cca-8abd-f6f832c97983/", "uuid": "401d7916-359a-4cca-8abd-f6f832c97983" }, { "resource_uri": "/api/2.0/jobs/ad1d412b-c51a-4cca-8ff9-81f5976471dd/", "uuid": "ad1d412b-c51a-4cca-8ff9-81f5976471dd" }, { "resource_uri": "/api/2.0/jobs/bf3ff2b7-52b6-4ac8-921a-7d44b80711bb/", "uuid": "bf3ff2b7-52b6-4ac8-921a-7d44b80711bb" }, { "resource_uri": "/api/2.0/jobs/9ce2ce9d-587c-46f6-b3bd-991ebf26b121/", "uuid": "9ce2ce9d-587c-46f6-b3bd-991ebf26b121" }, { "resource_uri": "/api/2.0/jobs/79aed1c7-570a-4191-897a-337476ebc074/", "uuid": "79aed1c7-570a-4191-897a-337476ebc074" }, { "resource_uri": "/api/2.0/jobs/1d630913-cef6-4e60-a472-125ded470400/", "uuid": "1d630913-cef6-4e60-a472-125ded470400" }, { "resource_uri": "/api/2.0/jobs/51f61346-6d9b-48b7-8cf5-4f70acc1dd97/", "uuid": "51f61346-6d9b-48b7-8cf5-4f70acc1dd97" }, { "resource_uri": "/api/2.0/jobs/ec58e294-0906-495f-86a2-4dd423fdd7b6/", "uuid": "ec58e294-0906-495f-86a2-4dd423fdd7b6" }, { "resource_uri": "/api/2.0/jobs/ce301022-90ef-4b7d-819a-5b6172b942f2/", "uuid": "ce301022-90ef-4b7d-819a-5b6172b942f2" }, { "resource_uri": "/api/2.0/jobs/09b4a45d-1b79-4116-bf01-96331f939d07/", "uuid": "09b4a45d-1b79-4116-bf01-96331f939d07" }, { "resource_uri": "/api/2.0/jobs/1287eee1-8b2c-443e-b177-0235a76a3ab3/", "uuid": "1287eee1-8b2c-443e-b177-0235a76a3ab3" }, { "resource_uri": "/api/2.0/jobs/7b71312d-fb1c-43c6-962b-6fd15e637ad9/", "uuid": "7b71312d-fb1c-43c6-962b-6fd15e637ad9" }, { "resource_uri": "/api/2.0/jobs/e4e5b16d-abca-41e0-8755-75fbb0d434c6/", "uuid": "e4e5b16d-abca-41e0-8755-75fbb0d434c6" }, { "resource_uri": "/api/2.0/jobs/dc7c4fca-6a66-4efb-87b8-db1d2dc9730a/", "uuid": "dc7c4fca-6a66-4efb-87b8-db1d2dc9730a" }, { "resource_uri": "/api/2.0/jobs/c61d1361-633f-4304-b80b-aff64785ac91/", "uuid": "c61d1361-633f-4304-b80b-aff64785ac91" }, { "resource_uri": "/api/2.0/jobs/5ee1a46b-4e58-4ec0-9dae-e7b919ae6e52/", "uuid": "5ee1a46b-4e58-4ec0-9dae-e7b919ae6e52" }, { "resource_uri": "/api/2.0/jobs/a2021f29-9f12-4443-87b3-0b2fdb9a76b5/", "uuid": "a2021f29-9f12-4443-87b3-0b2fdb9a76b5" }, { "resource_uri": "/api/2.0/jobs/38def946-1616-4215-b216-16035a1fb738/", "uuid": "38def946-1616-4215-b216-16035a1fb738" }, { "resource_uri": "/api/2.0/jobs/02255a54-8b9f-43ec-b751-89a4afc18a90/", "uuid": "02255a54-8b9f-43ec-b751-89a4afc18a90" }, { "resource_uri": "/api/2.0/jobs/ec61caa4-2baf-45ec-8f59-61e5716395ca/", "uuid": "ec61caa4-2baf-45ec-8f59-61e5716395ca" }, { "resource_uri": "/api/2.0/jobs/ae8ecbcb-68e9-42b6-9c04-6ff9ffd7f88f/", "uuid": "ae8ecbcb-68e9-42b6-9c04-6ff9ffd7f88f" }, { "resource_uri": "/api/2.0/jobs/1fbbcfcf-5027-4100-a93b-83ff73ff80cb/", "uuid": "1fbbcfcf-5027-4100-a93b-83ff73ff80cb" }, { "resource_uri": "/api/2.0/jobs/f12e8cd7-d76e-4b8a-b692-f4c22266e792/", "uuid": "f12e8cd7-d76e-4b8a-b692-f4c22266e792" }, { "resource_uri": "/api/2.0/jobs/728f1e12-2701-4618-a1ec-ff1a2cac63d0/", "uuid": "728f1e12-2701-4618-a1ec-ff1a2cac63d0" }, { "resource_uri": "/api/2.0/jobs/43f28ca1-e523-4481-966b-1c85fbb673fa/", "uuid": "43f28ca1-e523-4481-966b-1c85fbb673fa" }, { "resource_uri": "/api/2.0/jobs/9a1cc534-e426-4b68-b001-75f37119b353/", "uuid": "9a1cc534-e426-4b68-b001-75f37119b353" }, { "resource_uri": "/api/2.0/jobs/3d18c709-1601-4a7f-af9d-530ab86ef825/", "uuid": "3d18c709-1601-4a7f-af9d-530ab86ef825" }, { "resource_uri": "/api/2.0/jobs/a93b3d0d-e294-4f02-bc44-3cfd36d24ddb/", "uuid": "a93b3d0d-e294-4f02-bc44-3cfd36d24ddb" }, { "resource_uri": "/api/2.0/jobs/f47b65e9-14ca-40f6-9b2a-60c27091a75f/", "uuid": "f47b65e9-14ca-40f6-9b2a-60c27091a75f" }, { "resource_uri": "/api/2.0/jobs/69713c13-b1bb-4f84-972c-eb7adf55a051/", "uuid": "69713c13-b1bb-4f84-972c-eb7adf55a051" }, { "resource_uri": "/api/2.0/jobs/8d650bc8-80f9-4272-b190-11cd4b086d91/", "uuid": "8d650bc8-80f9-4272-b190-11cd4b086d91" }, { "resource_uri": "/api/2.0/jobs/12684b6c-fc57-4edb-916f-efe78a0e3f51/", "uuid": "12684b6c-fc57-4edb-916f-efe78a0e3f51" }, { "resource_uri": "/api/2.0/jobs/564c53a1-69c0-45de-8836-f52b49baff18/", "uuid": "564c53a1-69c0-45de-8836-f52b49baff18" }, { "resource_uri": "/api/2.0/jobs/26b24ab4-a89b-44d6-9194-e7324faa8922/", "uuid": "26b24ab4-a89b-44d6-9194-e7324faa8922" }, { "resource_uri": "/api/2.0/jobs/e24ed38b-1d3a-4f1d-8c91-2812f8c13c5f/", "uuid": "e24ed38b-1d3a-4f1d-8c91-2812f8c13c5f" }, { "resource_uri": "/api/2.0/jobs/52a1d9da-ee39-4973-b047-9233ae4e09ed/", "uuid": "52a1d9da-ee39-4973-b047-9233ae4e09ed" }, { "resource_uri": "/api/2.0/jobs/7c7d954c-58d9-49cf-9d9b-645adeb072de/", "uuid": "7c7d954c-58d9-49cf-9d9b-645adeb072de" }, { "resource_uri": "/api/2.0/jobs/6043d2cf-d1d3-4221-bc3a-6aa3c782e68d/", "uuid": "6043d2cf-d1d3-4221-bc3a-6aa3c782e68d" }, { "resource_uri": "/api/2.0/jobs/c718ce2d-0ba6-4964-be73-d35282a1024d/", "uuid": "c718ce2d-0ba6-4964-be73-d35282a1024d" }, { "resource_uri": "/api/2.0/jobs/3c92ad0f-e5a8-40b8-8d15-5dbb37ab5090/", "uuid": "3c92ad0f-e5a8-40b8-8d15-5dbb37ab5090" }, { "resource_uri": "/api/2.0/jobs/3e849dc8-f88e-4aa9-a7bb-5c245c892098/", "uuid": "3e849dc8-f88e-4aa9-a7bb-5c245c892098" }, { "resource_uri": "/api/2.0/jobs/fbc30ede-7ec5-4e11-8c51-6b729875bc41/", "uuid": "fbc30ede-7ec5-4e11-8c51-6b729875bc41" }, { "resource_uri": "/api/2.0/jobs/243e1c08-3b5f-4a87-acee-ff6aefb1dcbd/", "uuid": "243e1c08-3b5f-4a87-acee-ff6aefb1dcbd" }, { "resource_uri": "/api/2.0/jobs/592437ff-0cb0-4f62-a62c-ac964f5e6d45/", "uuid": "592437ff-0cb0-4f62-a62c-ac964f5e6d45" }, { "resource_uri": "/api/2.0/jobs/34502453-dba1-4530-bc75-7aadddbd6376/", "uuid": "34502453-dba1-4530-bc75-7aadddbd6376" }, { "resource_uri": "/api/2.0/jobs/3246e6e6-ea98-47cf-8e1c-174beec2b466/", "uuid": "3246e6e6-ea98-47cf-8e1c-174beec2b466" }, { "resource_uri": "/api/2.0/jobs/a7269f26-a630-4289-9195-322807e5d626/", "uuid": "a7269f26-a630-4289-9195-322807e5d626" }, { "resource_uri": "/api/2.0/jobs/9050f1d1-9ac3-4cfb-bd30-0d4b169cc873/", "uuid": "9050f1d1-9ac3-4cfb-bd30-0d4b169cc873" }, { "resource_uri": "/api/2.0/jobs/0649e5fe-1a17-4b16-8473-fa847cabb603/", "uuid": "0649e5fe-1a17-4b16-8473-fa847cabb603" }, { "resource_uri": "/api/2.0/jobs/db26bfbf-a615-4eb4-a631-9ba85140dc3b/", "uuid": "db26bfbf-a615-4eb4-a631-9ba85140dc3b" }, { "resource_uri": "/api/2.0/jobs/4eb78262-9f34-4ed8-81de-00b9ac11bfd8/", "uuid": "4eb78262-9f34-4ed8-81de-00b9ac11bfd8" }, { "resource_uri": "/api/2.0/jobs/2a3ac055-0133-4b6e-a999-1c9c197bd55c/", "uuid": "2a3ac055-0133-4b6e-a999-1c9c197bd55c" }, { "resource_uri": "/api/2.0/jobs/16a02c3f-f5eb-48b6-a8da-8185a39f17a2/", "uuid": "16a02c3f-f5eb-48b6-a8da-8185a39f17a2" }, { "resource_uri": "/api/2.0/jobs/85ecfbc9-9857-49e4-909a-2c7cdcbc1adc/", "uuid": "85ecfbc9-9857-49e4-909a-2c7cdcbc1adc" }, { "resource_uri": "/api/2.0/jobs/18d1b2ae-3f9b-4cae-b5f4-6086f868d5e5/", "uuid": "18d1b2ae-3f9b-4cae-b5f4-6086f868d5e5" }, { "resource_uri": "/api/2.0/jobs/7879e9e0-de4b-4b85-b69f-b416243527d9/", "uuid": "7879e9e0-de4b-4b85-b69f-b416243527d9" }, { "resource_uri": "/api/2.0/jobs/13bfc35b-6374-480d-aed7-d06e9b69f52b/", "uuid": "13bfc35b-6374-480d-aed7-d06e9b69f52b" }, { "resource_uri": "/api/2.0/jobs/fcc07794-94e0-4f6b-a9f0-32c52098b7f2/", "uuid": "fcc07794-94e0-4f6b-a9f0-32c52098b7f2" }, { "resource_uri": "/api/2.0/jobs/bce778e4-5003-4cb0-b60b-e86717e11584/", "uuid": "bce778e4-5003-4cb0-b60b-e86717e11584" }, { "resource_uri": "/api/2.0/jobs/3d7cf702-917a-4864-9a22-b8b1c0ddd0da/", "uuid": "3d7cf702-917a-4864-9a22-b8b1c0ddd0da" }, { "resource_uri": "/api/2.0/jobs/002b43f6-f12e-4b4a-9566-3affc49cbff5/", "uuid": "002b43f6-f12e-4b4a-9566-3affc49cbff5" }, { "resource_uri": "/api/2.0/jobs/f6f9423d-e239-48bf-b3e1-7eef57f41df5/", "uuid": "f6f9423d-e239-48bf-b3e1-7eef57f41df5" }, { "resource_uri": "/api/2.0/jobs/80498624-4b6a-4c23-8db3-0402b8bc61e0/", "uuid": "80498624-4b6a-4c23-8db3-0402b8bc61e0" }, { "resource_uri": "/api/2.0/jobs/57cd32c3-8969-4286-b4f3-d8e4132648db/", "uuid": "57cd32c3-8969-4286-b4f3-d8e4132648db" }, { "resource_uri": "/api/2.0/jobs/e4ff1f15-d0ee-4717-89a1-2c0ad024391c/", "uuid": "e4ff1f15-d0ee-4717-89a1-2c0ad024391c" }, { "resource_uri": "/api/2.0/jobs/a3e72cd9-bcf3-4810-b2b8-40c0db8ba2d2/", "uuid": "a3e72cd9-bcf3-4810-b2b8-40c0db8ba2d2" }, { "resource_uri": "/api/2.0/jobs/aa4a37ed-a657-4544-bcea-35c8b87f7382/", "uuid": "aa4a37ed-a657-4544-bcea-35c8b87f7382" }, { "resource_uri": "/api/2.0/jobs/9ecbc462-7fae-4b23-aabb-5a6d05c8c106/", "uuid": "9ecbc462-7fae-4b23-aabb-5a6d05c8c106" }, { "resource_uri": "/api/2.0/jobs/4b97a416-bef0-4d9c-ab19-715fb228f7f6/", "uuid": "4b97a416-bef0-4d9c-ab19-715fb228f7f6" }, { "resource_uri": "/api/2.0/jobs/ff128f6d-c51b-4d01-8932-14be8748f9dd/", "uuid": "ff128f6d-c51b-4d01-8932-14be8748f9dd" }, { "resource_uri": "/api/2.0/jobs/bd4b2465-09b7-4e12-8cfa-7d8779281ee7/", "uuid": "bd4b2465-09b7-4e12-8cfa-7d8779281ee7" }, { "resource_uri": "/api/2.0/jobs/03ecdbd7-9799-48c8-aa71-06d072d04b3f/", "uuid": "03ecdbd7-9799-48c8-aa71-06d072d04b3f" }, { "resource_uri": "/api/2.0/jobs/871aa701-cda8-47f6-b10b-df6d33f87cc9/", "uuid": "871aa701-cda8-47f6-b10b-df6d33f87cc9" }, { "resource_uri": "/api/2.0/jobs/23f8bdc6-5ab4-477c-8f7c-7bdb5952b483/", "uuid": "23f8bdc6-5ab4-477c-8f7c-7bdb5952b483" }, { "resource_uri": "/api/2.0/jobs/10f675b4-aff6-4158-98ab-16a285f8705e/", "uuid": "10f675b4-aff6-4158-98ab-16a285f8705e" }, { "resource_uri": "/api/2.0/jobs/bcc7eddf-cecd-455c-86e9-64425b26b39e/", "uuid": "bcc7eddf-cecd-455c-86e9-64425b26b39e" }, { "resource_uri": "/api/2.0/jobs/16589be9-9bfb-4991-b75a-268a0f5c629d/", "uuid": "16589be9-9bfb-4991-b75a-268a0f5c629d" }, { "resource_uri": "/api/2.0/jobs/ad6b508e-882f-4554-962e-10df50a46e51/", "uuid": "ad6b508e-882f-4554-962e-10df50a46e51" }, { "resource_uri": "/api/2.0/jobs/ebd647a3-6ad1-4ae9-8bfb-b618072f0545/", "uuid": "ebd647a3-6ad1-4ae9-8bfb-b618072f0545" }, { "resource_uri": "/api/2.0/jobs/799c758f-2e68-44ab-9808-04271937331b/", "uuid": "799c758f-2e68-44ab-9808-04271937331b" } ], "licenses": [], "media": "disk", "meta": { "description": "", "install_notes": "" }, "mounted_on": [], "name": "atom-sol", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/b9a2e66c-81d1-4de3-aac0-b6f2bde806f1/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 12348030976, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "b9a2e66c-81d1-4de3-aac0-b6f2bde806f1" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_2", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/ea31b27b-807a-4710-b37c-c092f64bf4f7/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "ea31b27b-807a-4710-b37c-c092f64bf4f7" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_3", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/e3898bfb-32d5-48d1-afd3-c28f4c8ef6d0/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "e3898bfb-32d5-48d1-afd3-c28f4c8ef6d0" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_0", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/b582ed29-0cab-4e40-bf91-40d4b4dcc964/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "b582ed29-0cab-4e40-bf91-40d4b4dcc964" } ] }
List single drive
- GET /drives/{uuid}/
Gets detailed information for drive identified by drive_uuid.
- Status Codes:
200 OK – no error
Example request:
GET /api/2.0/drives/5d3bb6d8-ce39-41e8-8742-2ba5af5ef2d0/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_1", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/5d3bb6d8-ce39-41e8-8742-2ba5af5ef2d0/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "5d3bb6d8-ce39-41e8-8742-2ba5af5ef2d0" }
Creating
- POST /drives/
Creates a new drive or multiple drives.
- Status Codes:
201 Created – object created
Example request:
Create a drive:
POST /api/2.0/drives/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "media": "disk", "name": "test_drive_0", "size": 1073741824 }
You can also pass the storage type:
POST /api/2.0/drives/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "objects": [ { "media": "disk", "name": "test_nvme_drive", "size": 1073741824, "storage_type": "nvme" } }
Example response
HTTP/1.1 201 CREATED Content-Type: application/json; charset=utf-8 { "objects": [ { "affinities": [], "allow_multimount": false, "backup_scheduler": null, "grantees": [], "iops": null, "jobs": [], "licenses": [], "media": "disk", "meta": { "description": "" }, "mounted_on": [], "name": "test_nvme_drive", "owner": { "resource_uri": "/api/2.0/user/e2e634af-d326-4130-a6c4-b1cb267e646f/", "uuid": "e2e634af-d326-4130-a6c4-b1cb267e646f" }, "permissions": [], "remote_snapshots": [], "resource_uri": "/api/2.0/drives/0840ecd2-46b3-40c7-249d-02a4024a350e/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "nvme" }, "size": 1073741824, "snapshots": [], "status": "creating", "storage_type": "nvme", "tags": [], "uuid": "0840ecd2-46b3-40c7-249d-02a4024a350e" } ] }
Please note that in some cases when NVMe storage is not provided in the locations you might get the following error: We currently cannot provide enough resources to create a nvme drive
or create multiple drives
POST /api/2.0/drives/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "objects": [ { "media": "disk", "name": "test_drive_0", "size": 1073741824 }, { "media": "disk", "name": "test_drive_1", "size": 1073741824 }, { "media": "disk", "name": "test_drive_2", "size": 1073741824 }, { "media": "disk", "name": "test_drive_3", "size": 1073741824 }, { "media": "disk", "name": "test_drive_4", "size": 1073741824 } ] }
or you can omit the {‘objects’: … } and provide only the list:
POST /api/2.0/drives/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop [ { "media": "disk", "name": "test_drive_0", "size": 1073741824 }, { "media": "disk", "name": "test_drive_1", "size": 1073741824 }, { "media": "disk", "name": "test_drive_2", "size": 1073741824 }, { "media": "disk", "name": "test_drive_3", "size": 1073741824 }, { "media": "disk", "name": "test_drive_4", "size": 1073741824 } ]
Example response
HTTP/1.1 201 CREATED Content-Type: application/json; charset=utf-8 { "objects": [ { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_0", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/b582ed29-0cab-4e40-bf91-40d4b4dcc964/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "creating", "storage_type": "dssd", "tags": [], "uuid": "b582ed29-0cab-4e40-bf91-40d4b4dcc964" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_1", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/cd9580ef-692c-4da2-b64d-59c88809c30b/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "creating", "storage_type": "dssd", "tags": [], "uuid": "cd9580ef-692c-4da2-b64d-59c88809c30b" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_2", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/ea31b27b-807a-4710-b37c-c092f64bf4f7/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "creating", "storage_type": "dssd", "tags": [], "uuid": "ea31b27b-807a-4710-b37c-c092f64bf4f7" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_3", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/e3898bfb-32d5-48d1-afd3-c28f4c8ef6d0/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "creating", "storage_type": "dssd", "tags": [], "uuid": "e3898bfb-32d5-48d1-afd3-c28f4c8ef6d0" }, { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_drive_4", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/b969d04b-b63f-4b67-9a92-c878d9d53232/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "creating", "storage_type": "dssd", "tags": [], "uuid": "b969d04b-b63f-4b67-9a92-c878d9d53232" } ] }
Editing
- PUT /drives/{uuid}/
Edits a drive. Note that if the drive is mounted on a running server only the
name
,meta
,tags
, andallow_multimount
can be changed. If other fields such assize
ormedia
are changed for a drive mounted on a running server these changes will be ignored. To make sure that the changes are either fully applied or an error is returned if impossible, use the resize action (Resizing (Update or Fail)). Note that changing drive size might be a slow operation, and the drive cannot be used during the resizing.- Status Codes:
200 OK – no errors
Example request:
PUT /api/2.0/drives/86468a1e-d622-4080-bb6d-8ec7b635db48/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "media": "cdrom", "name": "test_drive_y", "size": 1073741824 }
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [], "licenses": [], "media": "cdrom", "meta": {}, "mounted_on": [], "name": "test_drive_y", "owner": { "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/", "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23" }, "permissions": [], "resource_uri": "/api/2.0/drives/86468a1e-d622-4080-bb6d-8ec7b635db48/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1073741824, "snapshots": [], "status": "unmounted", "storage_type": "dssd", "tags": [], "uuid": "86468a1e-d622-4080-bb6d-8ec7b635db48" }
Resizing (Update or Fail)
- POST /drives/{uuid}/action/?do=resize
In order to make sure that drive changes take effect, one can use the resize action. It updates a drive definition,
and returns an error if not possible to completely apply the new drive definition, which may happen if the drive is
mounted on a running server. The name of the action is resize
because only drive size cannot be changed for a drive
mounted on a running server.
Note that the resize action is a full definition update (it can update even name and metadata), so a full definition should be provided to this call.
Example:
POST /api/2.0/drives/df170528-c34d-4009-a806-c7d85c78cad8/action/?do=resize HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
{
"affinities": [],
"allow_multimount": false,
"grantees": [],
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {},
"mounted_on": [],
"name": "test_drive_1",
"owner": {
"resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
"uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
},
"permissions": [],
"resource_uri": "/api/2.0/drives/df170528-c34d-4009-a806-c7d85c78cad8/",
"runtime": {
"is_snapshotable": null,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 4294967296,
"snapshots": [],
"status": "creating",
"storage_type": "dssd",
"tags": [],
"uuid": "df170528-c34d-4009-a806-c7d85c78cad8"
}
Note that the drive in the response is with status resizing:
HTTP/1.1 202 ACCEPTED
Content-Type: application/json; charset=utf-8
{
"objects": [
{
"affinities": [],
"allow_multimount": false,
"grantees": [],
"jobs": [],
"licenses": [],
"media": "disk",
"meta": {},
"mounted_on": [],
"name": "test_drive_1",
"owner": {
"resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
"uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
},
"permissions": [],
"resource_uri": "/api/2.0/drives/df170528-c34d-4009-a806-c7d85c78cad8/",
"runtime": {
"is_snapshotable": true,
"snapshots_allocated_size": 0,
"storage_type": "dssd"
},
"size": 2147483648,
"snapshots": [],
"status": "resizing",
"storage_type": "dssd",
"tags": [],
"uuid": "df170528-c34d-4009-a806-c7d85c78cad8"
}
]
}
Meta
It is possible to add arbitrary key-value data to a drive definition. See Objects’ metadata field for more information.
Deleting
Single drive
- DELETE /drives/{uuid}/
Deletes a single mounted or unmounted drive.
- Status Codes:
204 No Content – No content, object deletion started.
Example request:
DELETE /api/2.0/drives/5d3bb6d8-ce39-41e8-8742-2ba5af5ef2d0/ 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
Multiple drives
- DELETE /drives/
Deletes multiple mounted or unmounted drives specified by their UUIDs.
- statuscode 204:
No content, object deletion started.
Example request:
Request body
{"objects": [ { "uuid":"b137e217-42b6-4ecf-8575-d72efc2d3dbd", }, { "uuid":"e035a488-8587-4a15-ab25-9b7343236bc9", }, { "uuid":"feded33c-106f-49fa-a1c4-be5c718ad1b5", } ] }
Example response:
HTTP/1.0 204 NO CONTENT
Cloning
- POST /drives/{uuid}/action/?do=clone
Clones a drive. Request body is optional and any or all of the key/value pairs from the drive definition can be omitted. Size of the cloned drive can only be bigger or the same.
- Status Codes:
202 Accepted – Action accepted, execution is proceeding.
Example request:
POST /api/2.0/drives/5d537d3f-22ea-4967-9ec0-32e837a8b390/action/?do=clone HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "affinities": [], "media": "cdrom", "name": "test_drive_y", "size": 1207959631, "storage_type": "dssd" }
Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json; charset=utf-8 { "objects": [ { "affinities": [], "allow_multimount": false, "grantees": [], "jobs": [ { "resource_uri": "/api/2.0/jobs/8b00acbb-889b-44a5-8a8d-dc3617a6145d/", "uuid": "8b00acbb-889b-44a5-8a8d-dc3617a6145d" } ], "licenses": [], "media": "cdrom", "meta": {}, "mounted_on": [], "name": "test_drive_y", "owner": { "resource_uri": "/api/2.0/user/c2fc9982-cf2e-434a-bf63-e22a27b39f00/", "uuid": "c2fc9982-cf2e-434a-bf63-e22a27b39f00" }, "permissions": [], "resource_uri": "/api/2.0/drives/03cb7ca7-ca07-4380-9071-c19260fbec59/", "runtime": { "is_snapshotable": true, "snapshots_allocated_size": 0, "storage_type": "dssd" }, "size": 1207975936, "snapshots": [], "status": "cloning_dst", "storage_type": "dssd", "tags": [], "uuid": "03cb7ca7-ca07-4380-9071-c19260fbec59" } ] }
Note
If no name is specified in the clone call, the name of the cloned drive will be changed using the clone naming strategy set in the profile. See Clone naming for more information.
Request schema
{ "description":"Clone drive", "properties":{ "name":{ "description": "Name of the cloned drive", } "media":{ "description": "Media of the cloned drive", } "affinities":{ "description": "Affinities of the cloned drive", } } }
Availability Groups
It is possible to query which drives share common storage hosts. See Drives availability groups.
Creating or Cloning Drives to Different Infrastructure (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).
Licenses
Drives can have licenses attached to them. This means usage of the given drive on a running server requires either posession of subscriptions for the given licenses or additional payment. Typical such example are some drives in the drives library, see Licensed drive images and Licenses list
Storage Types
Every drive has a storage_type
on which they live and cannot be changed after creation. New drives by default go to
dssd
, and clones go to the same medium as their origin, but this can be overridden by
passing a storage_type
parameter. Allowed storage types can be different per location, so you should refer to the
drives section of the capabilities call response, where each storage type is specified
alongside with the minimum and maximum size of a single drive.
Currently the following storage types are available:
dssd
The UI name for
dssd
is “Distributed SSD”. As the name implies, the storage uses high-performance SSD drives, which makes this storage type suitable for IO-sensitive applications.zadara
The UI name for
zadara
is “Scale-out Magnetic”. Zadara storage is suitable for less IO sensitive applications, which require large amounts of storage, like hundreds of gigabytes or even terabytes. This storage is also cheaper per gigabyte thandssd
.Added in version Neon.
nvme
The UI name for nvme is “NVMe”. NVMe (nonvolatile memory express) is a new storage access and transport protocol for flash and next-generation solid-state drives (SSDs) that delivers the highest throughput and fastest response times yet for all types of enterprise workloads.
Added in version Chlorine.
Creating
Example request:
POST /api/2.0/drives/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "objects": [ { "media": "disk", "name": "test_zadara_drive", "size": 1073741824, "storage_type": "zadara" } ] }Example response:
HTTP/1.1 201 CREATED Content-Type: application/json; charset=utf-8 { "objects": [ { "affinities": [], "allow_multimount": false, "jobs": [], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_zadara_drive", "owner": { "resource_uri": "/api/2.0/user/80cb30fb-0ea3-43db-b27b-a125752cc0bf/", "uuid": "80cb30fb-0ea3-43db-b27b-a125752cc0bf" }, "resource_uri": "/api/2.0/drives/1c17d5ad-d345-4af1-9fc8-89dec02f0daf/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "zadara" }, "size": 1073741824, "snapshots": [], "status": "creating", "storage_type": "zadara", "tags": [], "uuid": "1c17d5ad-d345-4af1-9fc8-89dec02f0daf" } ] }
Cloning to the same storage type
Example request:
POST /api/2.0/drives/1c17d5ad-d345-4af1-9fc8-89dec02f0daf/action/?do=clone HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop {}Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json; charset=utf-8 { "objects": [ { "affinities": [], "allow_multimount": false, "jobs": [ { "resource_uri": "/api/2.0/jobs/900f6128-7a0f-49c3-9394-aa4f261c1b25/", "uuid": "900f6128-7a0f-49c3-9394-aa4f261c1b25" } ], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_zadara_drive", "owner": { "resource_uri": "/api/2.0/user/80cb30fb-0ea3-43db-b27b-a125752cc0bf/", "uuid": "80cb30fb-0ea3-43db-b27b-a125752cc0bf" }, "resource_uri": "/api/2.0/drives/203cbccd-0736-42dc-b75a-2bdb4db46909/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "zadara" }, "size": 1073741824, "snapshots": [], "status": "cloning_dst", "storage_type": "zadara", "tags": [], "uuid": "203cbccd-0736-42dc-b75a-2bdb4db46909" } ] }
Cloning to another storage type
Example request:
POST /api/2.0/drives/3be001aa-16df-453a-a2ab-d13981d56589/action/?do=clone HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "storage_type": "zadara" }Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json; charset=utf-8 { "objects": [ { "affinities": [], "allow_multimount": false, "jobs": [ { "resource_uri": "/api/2.0/jobs/c360f719-f750-4dfe-bb23-99680179b3e0/", "uuid": "c360f719-f750-4dfe-bb23-99680179b3e0" } ], "licenses": [], "media": "disk", "meta": {}, "mounted_on": [], "name": "test_zadara_drive_for_clone", "owner": { "resource_uri": "/api/2.0/user/80cb30fb-0ea3-43db-b27b-a125752cc0bf/", "uuid": "80cb30fb-0ea3-43db-b27b-a125752cc0bf" }, "resource_uri": "/api/2.0/drives/50b5cfdf-b286-43e9-8815-dd2c9354644b/", "runtime": { "is_snapshotable": null, "snapshots_allocated_size": 0, "storage_type": "zadara" }, "size": 1073741824, "snapshots": [], "status": "cloning_dst", "storage_type": "zadara", "tags": [], "uuid": "50b5cfdf-b286-43e9-8815-dd2c9354644b" } ] }
RDS Drives
Listing
- GET /driveusers/
Gets the list of the RDS drive records to which the authenticated user has access.
- Status Codes:
200 OK – no error
Example request:
GET /api/2.0/driveusers/?limit=0 HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response - default list:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "meta": { "limit": 20, "offset": 0, "total_count": 2 }, "objects": [ { "amount": 2, "drive": { "resource_uri": "/api/2.0/drives/9876be5b-db07-4bc3-99cb-00c7ff55ec19/", "uuid": "9876be5b-db07-4bc3-99cb-00c7ff55ec19" } }, { "amount": 4, "drive": { "resource_uri": "/api/2.0/drives/5a613e14-0e74-4f2c-b5b8-cf8e0403488a/", "uuid": "5a613e14-0e74-4f2c-b5b8-cf8e0403488a" } } ] }
RDS Drive Detail (single drive)
- GET /driveusers/{drive_uuid}/
Gets the details of the requested RDS drive identified by the {drive_uuid}, e.g. the
users amount
for the drive.- Status Codes:
200 OK – no error
Example request:
GET /api/2.0/driveusers/9876be5b-db07-4bc3-99cb-00c7ff55ec19/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "amount": 2, "drive": { "resource_uri": "/api/2.0/drives/9876be5b-db07-4bc3-99cb-00c7ff55ec19/", "uuid": "9876be5b-db07-4bc3-99cb-00c7ff55ec19" } }
Creating - Defining RDS Drive
- POST /driveusers/
Creates an RDS drive with the
user count
when creating a server with aWindows drive
.- Status Codes:
201 Created – object created
Example request:
POST /api/2.0/driveusers/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "drive": "e26fd531-7336-40e7-9a6f-db42e7a6b9f2", "amount": 5 }
Example response:
HTTP/1.1 201 CREATED Content-Type: application/json; charset=utf-8 { "objects": [ { "amount": 5, "drive": { "resource_uri": "/api/2.0/drives/e26fd531-7336-40e7-9a6f-db42e7a6b9f2/", "uuid": "e26fd531-7336-40e7-9a6f-db42e7a6b9f2" } } ] }
Editing - Updating RDS Drive
- PUT /driveusers/{drive_uuid}/
Updates the RDS
user count
identified by the {drive_uuid}.- Status Codes:
200 OK – no error
Example request:
PUT /api/2.0/driveusers/e26fd531-7336-40e7-9a6f-db42e7a6b9f2/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop { "amount": 5 }
Example response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "objects": [ { "amount": 5, "drive": { "resource_uri": "/api/2.0/drives/e26fd531-7336-40e7-9a6f-db42e7a6b9f2/", "uuid": "e26fd531-7336-40e7-9a6f-db42e7a6b9f2" } } ] }
Deleting
- DELETE /driveusers/{drive_uuid}/
Deletes a single drive record. Note if the drive is mounted on a server then the record cannot be deleted.
- Status Codes:
204 No Content – No content
Example request:
DELETE /api/2.0/driveusers/e26fd531-7336-40e7-9a6f-db42e7a6b9f2/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
Example response:
HTTP/1.1 204 No Content Content-Type: application/json; charset=utf-8
Drive 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": { "affinities": { "choices": [ "ssd" ], "default": [], "help_text": "A list of affinities this drive should belong to", "readonly": false, "required": false, "type": "list" }, "allow_multimount": { "default": false, "help_text": "Allow the drive to be mounted on multiple guests. Not taken into account when drive is cdrom.", "readonly": false, "required": false, "type": "boolean" }, "grantees": { "default": "No default provided.", "help_text": "A list of data. Ex: ['abc', 26.73, 8]", "readonly": false, "required": false, "type": "list" }, "jobs": { "default": "No default provided.", "help_text": "Background jobs related to this resource", "readonly": true, "required": true, "type": "related" }, "licenses": { "default": [], "fields": { "amount": { "default": 1, "help_text": "Number of licenses", "readonly": false, "required": false, "type": "integer" }, "license": { "default": "No default provided.", "help_text": "A single related resource. Can be either a URI or set of nested resource data.", "readonly": false, "required": true, "type": "related" }, "user": { "default": null, "help_text": "Owner of the license", "readonly": false, "required": false, "type": "related" } }, "help_text": "A list of licenses attached to this drive", "readonly": false, "required": false, "type": "related" }, "media": { "choices": [ "cdrom", "disk" ], "default": null, "help_text": "Media representation type", "readonly": false, "required": true, "type": "string" }, "meta": { "default": {}, "help_text": "User defined meta information", "readonly": false, "required": false, "type": "dict" }, "mounted_on": { "default": "No default provided.", "help_text": "Servers on which this drive is mounted on", "readonly": true, "required": false, "type": "related" }, "name": { "default": null, "help_text": "Human readable name of the drive", "readonly": false, "required": true, "type": "string" }, "owner": { "default": null, "help_text": "Owner of the drive", "readonly": true, "required": false, "type": "related" }, "permissions": { "default": "No default provided.", "help_text": "A list of data. Ex: ['abc', 26.73, 8]", "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": { "is_snapshotable": { "default": "No default provided.", "help_text": "Specifies if the drive supports snapshotting", "readonly": true, "required": true, "type": "boolean" }, "snapshots_allocated_size": { "default": "No default provided.", "help_text": "Sum of the allocated size of this drive's snapshots", "readonly": true, "required": false, "type": "integer" }, "storage_type": { "default": "No default provided.", "help_text": "Underlying storage", "readonly": true, "required": true, "type": "string" } }, "help_text": "Runtime information of the drive", "readonly": true, "required": false, "type": "related" }, "size": { "default": null, "help_text": "Size of the drive in bytes", "readonly": false, "required": true, "type": "integer" }, "snapshots": { "default": "No default provided.", "help_text": "Servers on which this drive is mounted on", "readonly": true, "required": false, "type": "related" }, "status": { "default": "No default provided.", "help_text": "Status of the drive.", "readonly": true, "required": true, "type": "string" }, "storage_type": { "choices": [ "magnetic", "ssd", "dssd", "zadara", "solidfire" ], "default": null, "help_text": "Underlying storage", "readonly": false, "required": false, "type": "string" }, "tags": { "default": "No default provided.", "help_text": "Many related resources. Can be either a list of URIs or list of individually nested resource data.", "readonly": false, "required": false, "type": "related" }, "uuid": { "default": null, "help_text": "UUID of the drive", "readonly": true, "required": true, "type": "string" } }, "filtering": { "name": "exact", "name__contains": "exact", "tag": "exact", "uuid": "exact" } }