ВОЙТИ
    opened image

    В этом документе описан процесс создания, просмотра и удаления резервных копий для instance с помощью API сервиса Zomro. Приведенные примеры запросов помогут вам быстро разобраться с основными операциями, необходимыми для управления резервными копиями через API.

     

    Создание резервной копии

     

    Чтобы создать резервную копию, выполните следующий запрос:

     

    URL: 

    https://api.zomro.com/

    Метод: POST

    Тело запроса(Form-data):

    Параметр Пример значения Обязательный параметр Описание значения
    func instances.fleio_bckps.edit Да Функция, для создания резервной копии
    auth 21fc199...c43f71 Нет Токен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
    out json Да Тип ответа, который ожидать
    sok ok Да Подтверждение операции
    plid 5203773 Да ID instance, для которой создать резервную копию
    name MyBackup Да Название резервной копии

     

    Пример создания резервной копии для услуги

    Для примера, используем услугу:

     

    URL: 

    https://api.zomro.com/

     

    Метод: POST

    Тело запроса(Form-data):

    Параметр Значение
    func instances.fleio_bckps.edit
    auth 21fc199...c43f71
    out json
    sok ok
    plid 5203773
    name MyBackup

     

    Вот пример запроса, который можно выполнить из консоли:

     

    curl --location 'https://api.zomro.com/' \
    --form 'func="instances.fleio_bckps.edit"' \
    --form 'auth="d3ec30e337e01078a1d185cc"' \
    --form 'out="json"' \
    --form 'sok="ok"' \
    --form 'plid="5203773"' \
    --form 'name="MyBackup"'

     

    После выполнения запроса, видим, что резервная копия в процессе создания. Как видим backup имеет значение Saving:

    ​​​​​​​

     

    После завершения создания резервной копии, статус резервной копии изменится с Saving на Active:

     

    Как видим, статус услуги является Active.

     

    Как получить список резервных копий с помощью API

     

    Также, с помощью API есть возможность получить список резервных копий. Для этого выполняем следующий формат запроса:

     URL: 

    https://api.zomro.com/

    Метод: POST

    Тело запроса(Form-data):

    Параметр Пример значения Обязательный параметр Описание значения
    func instances.fleio_bckps Да Функция, для получения всех резервных копий
    auth 21fc199...c43f71 Нет Токен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
    out json Да Тип ответа, который ожидать
    plid 5203773 Да ID instance, резервные копии которой планируется получить

     

    Для примера, попробуем получить резервные копии для услуги 5203773. На предыдущем шаге, создали 1 резервную копию. Попробуем получить ее.

    Попробуем выполнить следующий запрос в консоли:

    curl --location 'https://api.zomro.com/' \
    --form 'func="instances.fleio_bckps"' \
    --form 'auth="8409b4eea786e3cad35eacf7"' \
    --form 'out="json"' \
    --form 'elid="5203773"'

    Получаем следующий результат:

    {
        "doc": {
            ...
            "elem": [
                {
                    "architecture": {
                        "$": "x86_64"
                    },
                    "backup_type": {
                        "$": "manual"
                    },
                    "createdate": {
                        "$": "2024-07-23"
                    },
                    "disk_format": {
                        "$": "qcow2"
                    },
                    "fleio_id": {
                        "$": "b26c0f34-48b2-4cb2-b4eb-388eac959df6"
                    },
                    "fleio_status": {
                        "$": "Active"
                    },
                    "hypervisor_type": {
                        "$": "any_hypervisor"
                    },
                    "id": {
                        "$": "5203980"
                    },
                    "image_size": {
                        "$": "3"
                    },
                    "item_real_status": {
                        "$": "2"
                    },
                    "min_disk": {
                        "$": "20"
                    },
                    "min_ram": {
                        "$": "0"
                    },
                    "name": {
                        "$": "MyBackup"
                    },
                    "os_distro": {
                        "$": "Ubuntu"
                    },
                    "os_version": {
                        "$": "22.04 x64"
                    },
                    "protected": {
                        "$": "off"
                    },
                    "region": {
                        "$": "Netherlands-2"
                    },
                    "visibility": {
                        "$": "private"
                    }
                }
            ],
        }
    }

     

    Нас интересует данные, которые получены в следующие вложенности:​​​​​​​

    doc.elem.[]

     

    Из этого ответа, мы получаем следующие данные:

    Название поля Описание

    architecture

    Архитектура виртуальной машины

    backup_type

    Каким образом была создана резервная копия: Вручную или по расписанию

    createdate

    Время создания резервной копии

    disk_format

    Тип файла резервной копии

    fleio_id

    Уникальный UUID в системе fleio

    fleio_status

    Статус резервной копии. Значение Active означает, что резервная копия создана

    hypervisor_type

    Тип гипервизора для виртуальной машины

    id

    ID резервной копии в пределах bill manager

    image_size

    Фактический размер резервной копии. Определяется после завершения создания резервной копии

    item_real_status

    Статус услуги в рамках billmanager

    min_disk

    Минимальный размер диска на сервере который нужен, чтобы восстановить данную резервную копию

    min_ram

    Минимальный размер ОЗУ на сервере, который нужен, чтобы восстановить данную резервную копию

    name

    Название резервной копии

    os_distro

    Название операционной системы

    os_version

    Версия операционной системы

    protected

    Сообщает, разрешено ли удалять резервную копию. При значении «off», резервную копию возможно удалить. В случае «on» - резервную копию невозможно удалить.

    region

    Название датацентра, где находится резервная копия

    visibility

    Статус доступа к резервной копии. Единственное доступное значение является «Private» 

     

    Как удалить резервную копию

    ​​​​​​​

    Для удаления резервной копии выполняем следующий запрос:

     URL: 

    https://api.zomro.com/

    Метод: POST

    Тело запроса(Form-data):

    Параметр Пример значения Обязательный параметр Описание значения
    func image.delete Да Функция, удаление резервной копии
    auth 21fc199...c43f71 Нет Токен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
    out json Да Тип ответа, который ожидать
    plid 5203773 Да ID instance, резервные копии которой планируется получить
    elname

    5203980

    Да ID резервной копии, которую нужно удалить
    elid

    5203980

    Да ID резервной копии, которую нужно удалить
    sok ok Да Подтверждение выполнения операции

     

    Попробуем выполнить следующий запрос в консоли:

    curl --location 'https://api.zomro.com/' \
    --form 'func="image.delete"' \
    --form 'auth="72307c8cfc94e631d835438f"' \
    --form 'out="json"' \
    --form 'sok="ok"' \
    --form 'plid="5203773"' \
    --form 'elname="5203980"' \
    --form 'elid="5203980"'

    После выполнения запроса, проверить результат можно с помощью функции «instances.fleio_bckps», или просмотрев с помощью веб интерфейса:

    ​​​​​​​

     

    Как можем увидеть, резервная копия была успешно удалена. 

     

    Также предлагаем изучить статьи, которые могут быть полезными для взаимодействия с продуктами Cloud VPS с помощью API: