opened image

API - Взаимодействие с Boot From ISO

В этой статье, описано, как осуществлять операцию Boot from ISO, с помощью API.

 

Использование Boot from ISO

 

Чтобы запустить процесс Boot From ISO для instance, выполняем запрос такого формата:

 

URL: 

https://api.zomro.com/

Метод: POST

Тело запроса(Form-data):

ПараметрПример значенияОбязательный параметрОписание значения
funcinstances.fleio.boot_from_isoДаФункция для использования Boot from ISO
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
sokokДаПодтверждение операции
elid5203773ДаID instance
select_boot_from_isoffa4a7c1-9e36-49a1-8770-acfb2878141fДаUUID образа, который планируем использовать. Рекомендуется использовать образ с типом диска ISO
zonepubДаТип зоны, где находится изображение. Доступные параметры: «own», «pub».

 

Пример перехода Instance в режим Boot From ISO

Для примера, используем услугу:

и загрузим следующий образ:

 

URL: 

https://api.zomro.com/

 

Метод: POST

Тело запроса(Form-data):

ПараметрЗначение
funcinstances.fleio.boot_from_iso
auth21fc199...c43f71
outjson
sokok
elid5203773
select_boot_from_isoffa4a7c1-9e36-49a1-8770-acfb2878141f
zonepub

 

Вот пример запроса, который можно выполнить из консоли:

 

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

myImageSolarisown

696c4ee2-6d19-4281-b301-599c220cd4f3

booAlmaLinuxown

5b71c86b-c384-4e6f-9fd8-3f22d000c2ff

fooAlmaLinuxown

ffa4a7c1-9e36-49a1-8770-acfb2878141f

-[ISO] systemrescue-11.00-amd64pub

 

Image с модификатором доступа «pub» доступен всем пользователям. Зато с «own» - доступен только владельцу image.

 

Выход из режима «Bot From ISO»


  

Также, для выхода из режима «Bot From ISO» выполняем следующий API запрос, следующего формата:

 

URL: 

https://api.zomro.com/

Метод: POST

Тело запроса(Form-data):

ПараметрПример значенияОбязательный параметрОписание значения
funcinstances.fleio.unrescueДаФункция, для выхода из режима «Boot from ISO»
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
elid5203773Да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: