УВІЙТИ
    opened image

    У цій статті описано, як здійснювати операцію Rescue за допомогою API.

     

    Використання Rescue

    Щоб запустити процес Rescue для instance, виконуємо запит такого формату:

     

    URL: 

    https://api.zomro.com/

    Метод: POST

    Тіло запиту (Form-data):

    Параметр Приклад значення Обов'язковий параметр Опис значення
    func instances.fleio.rescue Так Функція для використання Boot from ISO
    auth 21fc199...c43f71 Ні Токен сесії. Це один з варіантів авторизації. Докладніше, які ще є варіанти, описані тут
    out json Так Тип відповіді, яку очікувати
    sok ok Так Підтвердження операції
    elid 5203773 Так ID instance
    select_boot f8f2573f-56c4-44c5-8469-84eee4aa64e7 Так UUID образу, який плануємо використовувати
    password MyPassword1 Ні Пароль доступу до сервера в режимі Rescue. Рекомендується встановлювати, щоб мати доступ до сервера    
    zone pub Так Тип зони, де знаходиться зображення. Доступні параметри: «own», «pub».

     

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

    Для прикладу, використовуємо послугу:

    і завантажимо наступний образ:
     

     

    URL: 

    https://api.zomro.com/

     

    Метод: POST

    Тіло запиту (Form-data):

    Параметр Значення
    func instances.fleio.rescue
    auth 21fc199...c43f71
    out json
    sok ok
    elid 5203773
    select_boot_from_iso f8f2573f-56c4-44c5-8469-84eee4aa64e7
    zone pub
    password MyPassword1

     

    Ось приклад запиту, який можна виконати з консолі:

    curl --location 'https://api.zomro.com/' \
    --form 'func="instances.fleio.rescue"' \
    --form 'auth="43137b5f35a6ba4ee01f4a4e"' \
    --form 'out="json"' \
    --form 'elid="5203773"' \
    --form 'sok="ok"' \
    --form 'select_boot="f8f2573f-56c4-44c5-8469-84eee4aa64e7"' \
    --form 'password="MyPassword1"' \
    --form 'zone="pub"'

     

    Після виконання запиту, бачимо, що instance перейшов у режим «Rescue». Підтвердженням цього є результат на фото:

     

     

    Також, якщо не передавати параметр sok, буде виконано запит у режимі попереднього перегляду. Виконавши цей запит, можна отримати доступні image для переходу в rescue з обраного image. Для прикладу, виконаємо наступний запит, але без переданого параметра «sok»:

     

    curl --location 'https://api.zomro.com/' \
    --form 'func="instances.fleio.rescue"' \
    --form 'auth="43137b5f35a6ba4ee01f4a4e"' \
    --form 'out="json"' \
    --form 'elid="5203773"' 


    Отримуємо наступну відповідь:

     

    {
        "doc": {
            ...
            "slist": [
                {
                    "$name": "zone",
                    "val": [
                        {
                            "$key": "pub",
                            "$": "pub"
                        },
                        {
                            "$key": "own",
                            "$": "own"
                        }
                    ]
                },
                {
                    "$name": "select_boot",
                    "val": [
                        {
                            "$depend": "pub",
                            "$key": "f8f2573f-56c4-44c5-8469-84eee4aa64e7",
                            "$": "Ubuntu 22.04"
                        },
                        {
                            "$depend": "pub",
                            "$key": "0bf4deb2-855c-4863-8518-6006d804adbb",
                            "$": "Debian 10"
                        },
                        {
                            "$depend": "pub",
                            "$key": "18d0ee2e-4d57-4f40-9b56-03c1773b5831",
                            "$": "AlmaLinux 8"
                        },
                        {
                            "$depend": "pub",
                            "$key": "1d9dda4c-34b0-4304-a90a-8f3018722fa2",
                            "$": "Rocky-Linux-8"
                        },
                        {
                            "$depend": "pub",
                            "$key": "2af0af94-0e6e-4ef3-8837-d41fdbfa3564",
                            "$": "Windows Server 2016"
                        },
                        {
                            "$depend": "pub",
                            "$key": "3010ae60-0185-4021-98da-f50013147ebd",
                            "$": "Debian 11"
                        },
                        {
                            "$depend": "pub",
                            "$key": "479c96f1-ccc6-47a2-952c-c9e3bbdc8d07",
                            "$": "Ubuntu 20.04"
                        },
                        {
                            "$depend": "pub",
                            "$key": "5da4ad83-45f6-4c0e-9a7e-7a7c18b2be6c",
                            "$": "AlmaLinux 9"
                        },
                        {
                            "$depend": "pub",
                            "$key": "7d7911e3-7178-4f36-a308-d841db5fe654",
                            "$": "CentOS Stream 9"
                        },
                        {
                            "$depend": "pub",
                            "$key": "92fabac2-69cc-46ad-8439-c377e0c90632",
                            "$": "Ubuntu 23.04"
                        },
                        {
                            "$depend": "pub",
                            "$key": "93878ba5-6b9e-4924-a4be-34edb623f808",
                            "$": "Debian 12"
                        },
                        {
                            "$depend": "pub",
                            "$key": "a8b7bcb3-6698-4264-b413-f2b866a46a70",
                            "$": "Rocky-Linux-9"
                        },
                        {
                            "$depend": "pub",
                            "$key": "b10434c0-d839-428f-a919-cac733fd6552",
                            "$": "Windows Server 2019"
                        },
                        {
                            "$depend": "pub",
                            "$key": "bda2467e-e192-4e4e-becc-cda2e71b9767",
                            "$": "Windows Server 2022"
                        },
                        {
                            "$depend": "own",
                            "$name": "foo",
                            "$key": "a9e7c223-5f11-4546-a298-6af546bebde6",
                            "$": "Centos 9 x64"
                        },
                    ]
                }
            ],
        
        }
    }

     

    Проаналізувавши цю структуру відповіді, отримані цікаві дані знаходяться в наступній вкладеності:

     

    doc.slist.[]

     

    Як бачимо, нам доступні зображення:

    UUID Назва Image Назва OS Область видимості

    f8f2573f-56c4-44c5-8469-84eee4aa64e7

    -

    Ubuntu 22.04

    pub

    0bf4deb2-855c-4863-8518-6006d804adbb

    -

    Debian 10

    pub

    18d0ee2e-4d57-4f40-9b56-03c1773b5831

    -

    AlmaLinux 8

    pub

    1d9dda4c-34b0-4304-a90a-8f3018722fa2

    -

    Rocky-Linux-8

    pub

    2af0af94-0e6e-4ef3-8837-d41fdbfa3564

    -

    Windows Server 2016

    pub

    3010ae60-0185-4021-98da-f50013147ebd

    -

    Debian 11

    pub

    479c96f1-ccc6-47a2-952c-c9e3bbdc8d07

    -

    Ubuntu 20.04

    pub

    5da4ad83-45f6-4c0e-9a7e-7a7c18b2be6c

    -

    AlmaLinux 9

    pub

    7d7911e3-7178-4f36-a308-d841db5fe654

    -

    CentOS Stream 9

    pub

    92fabac2-69cc-46ad-8439-c377e0c90632

    -

    Ubuntu 23.04

    pub

    93878ba5-6b9e-4924-a4be-34edb623f808

    -

    Debian 12

    pub

    a8b7bcb3-6698-4264-b413-f2b866a46a70

    -

    Rocky-Linux-9

    pub

    b10434c0-d839-428f-a919-cac733fd6552

    -

    Windows Server 2019

    pub

    bda2467e-e192-4e4e-becc-cda2e71b9767

    -

    Windows Server 2022

    pub
    a9e7c223-5f11-4546-a298-6af546bebde6 foo Centos 9 x64 own

     

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

    Також, для виходу з режиму «Rescue» виконуємо наступний API запит, наступного формату:

     

    URL: 

    https://api.zomro.com/

    Метод: POST

    Тіло запиту (Form-data):

    Параметр Приклад значення Обов'язковий параметр Опис значення
    func instances.fleio.unrescue Так Функція для виходу з режиму «Rescue»
    auth 21fc199...c43f71 Ні Токен сесії. Це один з варіантів авторизації. Докладніше, які ще є варіанти, описані тут
    out json Так Тип відповіді, яку очікувати
    elid 5203773 Так ID instance

     

    Як відключити режим «Rescue»

     

    Для прикладу, відключимо режим «Rescue» для 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: