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