В этой статье, описано, как осуществлять операцию 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