Our ISO image catalog is composed by more than 220 ISO images (and growing) stored within our virtual environment to make a faster VM-ISO interaction, where users can pick and choose the most common Linux distributions, Windows, Solaris, etc. or any other Software like SQL Server.
The following table shows a brief description and HTTP methods allowed to interact with ISO images available to customers.
Resource | URI | Description | GET | POST | PUT | PATCH | OPTIONS |
---|
Public ISO images | /iso | CD/DVD iso images available to customers. | | | | | |
Personal ISO images | /user/image/iso | CD/DVD ISO images in user's personal store | |
|
| |
|
Note |
---|
|
Remember, you can also show what methods are allowed and description, parameters, etc. by making an OPTIONS HTTP request to /v2/iso. Code Block |
---|
| http OPTIONS "https://vss-api.eis.utoronto.ca/v2/iso"
curl -X OPTIONS "https://vss-api.eis.utoronto.ca/v2/iso" |
|
List Personal ISOs
In order to list available ISO images in your personal https://vskey-stor.eis.utoronto.ca account you should make a GET request to the endpoint /v2/user/image/iso passing your access token.
The following examples implements HTTPie and CURL to list available ISO images:
Code Block |
---|
http GET "https://vss-api.eis.utoronto.ca/v2/user/image/iso" "Authorization: Bearer $TK"
curl -H "Authorization: Bearer $TK" -X GET "https://vss-api.eis.utoronto.ca/v2/user/image/iso" |
Code Block |
---|
language | py |
---|
title | Response Body |
---|
collapse | true |
---|
|
{
"_links": {
"self": "https://vss-api.eis.utoronto.ca/v2/user/image/iso",
"user": "https://vss-api.eis.utoronto.ca/v2/user/image"
},
"data": [
{
"created_on": "2017-11-17 13:51:31 EST",
"data_store": "vssUser-xfers",
"id": 223,
"name": "501219a5-a563-787c-f334-e7b65e829dca-ud.iso",
"path": "[vssUser-xfers] josem/config-drive/501219a5-a563-787c-f334-e7b65e829dca-ud.iso",
"public": false,
"updated_on": "2017-11-17 13:51:31 EST"
},
{
"created_on": "2017-11-17 13:51:31 EST",
"data_store": "vssUser-xfers",
"id": 224,
"name": "50128758-774e-a3df-7137-5b6aa38aa760-ud.iso",
"path": "[vssUser-xfers] josem/config-drive/50128758-774e-a3df-7137-5b6aa38aa760-ud.iso",
"public": false,
"updated_on": "2017-11-17 13:51:31 EST"
}
],
"meta": {
"count": 2,
"time": "0.00372s",
"user": "josem"
}
} |
Sync personal ISOS
Before listing personal ISOs, please be sure you have uploaded the desired file to https://vskey-stor.eis.utoronto.ca and then execute a Synchronization task as follows:
Code Block |
---|
http PATCH https://vss-api.eis.utoronto.ca/v2/user/image/iso "Authorization: Bearer $TK"
curl -H "Authorization: Bearer $TK" -X PATCH "https://vss-api.eis.utoronto.ca/v2/user/image/iso" |
A synchronization task should be submitted and your ISO images should appear momentaneously on /v2/user/image/iso
List Public ISOs
In order to list available ISO images you should make a GET request to the endpoint /v2/iso passing your access token. As a result, you will get list of ISO images URL reference.
The following examples implements HTTPie and CURL to list available ISO images:
Code Block |
---|
http GET "https://vss-api.eis.utoronto.ca/v2/iso" "Authorization: Bearer $TK"
curl -H "Authorization: Bearer $TK" -X GET "https://vss-api.eis.utoronto.ca/v2/iso" |
Code Block |
---|
language | py |
---|
title | Response Body |
---|
collapse | true |
---|
|
{
"data": [
"https://vss-api.eis.utoronto.ca/v2/iso/1",
"https://vss-api.eis.utoronto.ca/v2/iso/2",
"https://vss-api.eis.utoronto.ca/v2/iso/3",
"https://vss-api.eis.utoronto.ca/v2/iso/4",
"https://vss-api.eis.utoronto.ca/v2/iso/5",
"https://vss-api.eis.utoronto.ca/v2/iso/6",
"https://vss-api.eis.utoronto.ca/v2/iso/7",
"https://vss-api.eis.utoronto.ca/v2/iso/8",
"https://vss-api.eis.utoronto.ca/v2/iso/9",
"https://vss-api.eis.utoronto.ca/v2/iso/10"
],
"meta": {
"_link": {
"self": "https://vss-api.eis.utoronto.ca/v2/iso"
},
"count": 10,
"pages": {
"first_url": "https://vss-api.eis.utoronto.ca/v2/iso?per_page=10&page=1",
"last_url": "https://vss-api.eis.utoronto.ca/v2/iso?per_page=10&page=23",
"next_url": "https://vss-api.eis.utoronto.ca/v2/iso?per_page=10&page=2",
"page": 1,
"pages": 23,
"per_page": 10,
"prev_url": null,
"total": 224
},
"time": "0.00862s",
"user": "josem"
}
} |
Expand
You can also expand given resources by adding the parameter to the query string expand=1 as follows:
Code Block |
---|
http GET "https://vss-api.eis.utoronto.ca/v2/iso?expand=1" "Authorization: Bearer $TK"
curl -H "Authorization: Bearer $TK" -X GET "https://vss-api.eis.utoronto.ca/v2/iso?expand=1" |
Code Block |
---|
language | py |
---|
title | Response Body |
---|
collapse | true |
---|
|
{
"data": [
...
{
"created_on": "2017-11-17 13:43:11 EST",
"data_store": "vss-ISOs",
"id": 10,
"name": "MS_Win2003std_R2_SP2_DISK1.iso",
"path": "[vss-ISOs] Windows/Win2003/MS_Win2003std_R2_SP2_DISK1.iso",
"public": true,
"updated_on": "2017-11-17 13:43:11 EST"
}
...
],
"meta": {
"_link": {
"self": "https://vss-api.eis.utoronto.ca/v2/iso"
},
"count": 10,
"pages": {
"first_url": "https://vss-api.eis.utoronto.ca/v2/iso?per_page=10&page=1",
"last_url": "https://vss-api.eis.utoronto.ca/v2/iso?per_page=10&page=23",
"next_url": "https://vss-api.eis.utoronto.ca/v2/iso?per_page=10&page=2",
"page": 1,
"pages": 23,
"per_page": 10,
"prev_url": null,
"total": 224
},
"time": "0.00862s",
"user": "josem"
}
} |
Paging
All requests to the /iso URL are paginated. The response body includes a 'meta.pages' key with everything to navigate through the results, for instance:
Key | Description |
---|
first_url | Contain the URLs to navigate through results. |
last_url |
prev_url |
next_url |
page | Current page |
pages | Total number of pages |
per_page | Results per page. Maximum 250; Default 10. |
total | Total number of results |
Results per page can be set by including the parameter in the URL query, so we can get the desired number of elements per page, for example:
Code Block |
---|
http GET "https://vss-api.eis.utoronto.ca/v2/iso?per_page=250&expand=1" "Authorization: Bearer $TK" |
Filtering
ISOs can be filtered by adding the filter argument to the query string in the following format:
Code Block |
---|
filter=<field_name>,<operator>,<value> |
Operators can be:
Operator | Description |
---|
eq | Equals |
ne | Not equal |
lt | Lower than |
le | Lower equal |
gt | Greater than |
ge | Greater equal |
like | Matching pattern |
in | Match value in many items separated by commas |
A resource can be filtered by as many attributes the request has, for instance /iso can be filtered by name, path, created_on, updated_on, etc. Thus, the following example will filter only CentOS images:
Code Block |
---|
http GET "https://vss-api.eis.utoronto.ca/v2/iso?per_page=250&expand=1&filter=name,like,CentO%" "Authorization: Bearer $TK" |
Sorting
ISO images can be sorted by adding the sort parameter in the URL query string in the following format:
Code Block |
---|
sort=<field_name>,<asc|desc> |
The following example shows how to filter by date (latest first):
Code Block |
---|
http GET "https://vss-api.eis.utoronto.ca/v2/iso?per_page=250&expand=1&filter=name,like,CentO%&sort=name,desc" "Authorization: Bearer $TK" |