ВОЙТИ
    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: