УВІЙТИ
    opened image

    У цій статті описано, як здійснювати операцію 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: