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: