У цій статті описано, як здійснювати операцію Boot from ISO за допомогою API.
Використання Boot from ISO
Щоб запустити процес Boot From ISO для instance, виконуємо запит такого формату:
URL:
https://api.zomro.com/
Метод: POST
Тіло запиту (Form-data):
Параметр | Приклад значення | Обов'язковий параметр | Опис значення |
func | instances.fleio.boot_from_iso | Так | Функція для використання Boot from ISO |
auth | 21fc199...c43f71 | Ні | Токен сесії. Це один з варіантів авторизації. Докладніше, які ще є варіанти, описані тут |
out | json | Так | Тип відповіді, яку очікувати |
sok | ok | Так | Підтвердження операції |
elid | 5203773 | Так | ID instance |
select_boot_from_iso | ffa4a7c1-9e36-49a1-8770-acfb2878141f | Так | UUID образу, який плануємо використовувати. Рекомендується використовувати образ з типом диска ISO |
zone | pub | Так | Тип зони, де знаходиться зображення. Доступні параметри: «own», «pub». |
Приклад переходу Instance в режим Boot From ISO
Для прикладу, використовуємо послугу:
і завантажимо наступний образ:
URL:
https://api.zomro.com/
Метод: POST
Тіло запиту (Form-data):
Параметр | Значення |
func | instances.fleio.boot_from_iso |
auth | 21fc199...c43f71 |
out | json |
sok | ok |
elid | 5203773 |
select_boot_from_iso | ffa4a7c1-9e36-49a1-8770-acfb2878141f |
zone | pub |
Ось приклад запиту, який можна виконати з консолі:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.boot_from_iso"' \
--form 'auth="d22467cab40fedf7674da126"' \
--form 'out="json"' \
--form 'elid="5203773"' \
--form 'sok="ok"' \
--form 'select_boot_from_iso="ffa4a7c1-9e36-49a1-8770-acfb2878141f"' \
--form 'zone="pub"'
Після виконання запиту, бачимо, що instance перейшов у режим «Boot from ISO». Підтвердженням цього є результат на фото:
Також, якщо не передавати параметр sok, буде виконано запит у режимі попереднього перегляду. Виконавши цей запит, можна отримати доступні image для переходу в boot from iso з обраного image. Для прикладу, виконаємо наступний запит, але без переданого параметра «sok»:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.boot_from_iso"' \
--form 'auth="d22467cab40fedf7674da126"' \
--form 'out="json"' \
--form 'elid="5203773"'
Отримуємо наступну відповідь:
{
"doc": {
...
"slist": [
{
"$name": "zone",
"val": [
{
"$key": "own",
"$": "own"
},
{
"$key": "pub",
"$": "pub"
}
]
},
{
"$name": "select_boot_from_iso",
"val": [
{
"$depend": "own",
"$name": "myImage",
"$key": "35904b88-7c1f-47c6-911c-1198fbc6afeb",
"$": "Solaris "
},
{
"$depend": "own",
"$name": "boo",
"$key": "696c4ee2-6d19-4281-b301-599c220cd4f3",
"$": "AlmaLinux "
},
{
"$depend": "own",
"$name": "foo",
"$key": "5b71c86b-c384-4e6f-9fd8-3f22d000c2ff",
"$": "AlmaLinux "
},
{
"$depend": "pub",
"$key": "ffa4a7c1-9e36-49a1-8770-acfb2878141f",
"$": "[ISO] systemrescue-11.00-amd64"
}
]
}
],
}
}
Проаналізувавши цю структуру відповіді, отримані цікаві дані знаходяться в наступній вкладеності:
doc.slist.[]
Як бачимо, нам доступні зображення:
UUID | Назва Image | Назва OS | Область видимості |
35904b88-7c1f-47c6-911c-1198fbc6afeb |
myImage | Solaris | own |
696c4ee2-6d19-4281-b301-599c220cd4f3 |
boo | AlmaLinux | own |
5b71c86b-c384-4e6f-9fd8-3f22d000c2ff |
foo | AlmaLinux | own |
ffa4a7c1-9e36-49a1-8770-acfb2878141f |
- | [ISO] systemrescue-11.00-amd64 | pub |
Image з модифікатором доступу «pub» доступний усім користувачам. Зате з «own» - доступний тільки власнику image.
Вихід з режиму «Bot From ISO»
Також, для виходу з режиму «Bot From ISO» виконуємо наступний API запит, наступного формату:
URL:
https://api.zomro.com/
Метод: POST
Тіло запиту (Form-data):
Параметр | Приклад значення | Обов'язковий параметр | Опис значення |
func | instances.fleio.unrescue | Так | Функція для виходу з режиму «Boot from ISO» |
auth | 21fc199...c43f71 | Ні | Токен сесії. Це один з варіантів авторизації. Докладніше, які ще є варіанти, описані тут |
out | json | Так | Тип відповіді, яку очікувати |
elid | 5203773 | Так | ID instance |
Для прикладу, відключимо режим «Boot From ISO» для Instance з ID 5203773.
Спробуємо виконати наступний запит у консолі:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.unrescue"' \
--form 'auth="0b31d69ab7b7b4839dfd6506"' \
--form 'out="json"' \
--form 'elid="5203773"'
Після виконання запиту, бачимо, що послуга активна:
Також пропонуємо вивчити статті, які можуть бути корисними для взаємодії з продуктами Cloud VPS за допомогою API:
- API - Створення послуги
- API - Отримання інформації про доступні тарифи та їх параметри
- API - Операція Start & Stop
- API - Операція Reboot
- API - Операція Rebuild
- API - Операція Delete
- API - Взаємодія з Image
- API - Взаємодія з Backup Schedule
- API - Взаємодія з Rescue
- API - Взаємодія з Backup
- API - Взаємодія з Snapshots