opened image

API - Взаимодействие с Backup

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

 

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

 

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

 

URL: 

https://api.zomro.com/

Метод: POST

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

ПараметрПример значенияОбязательный параметрОписание значения
funcinstances.fleio_bckps.editДаФункция, для создания резервной копии
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
sokokДаПодтверждение операции
plid5203773ДаID instance, для которой создать резервную копию
nameMyBackupДаНазвание резервной копии

 

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

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

 

URL: 

https://api.zomro.com/

 

Метод: POST

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

ПараметрЗначение
funcinstances.fleio_bckps.edit
auth21fc199...c43f71
outjson
sokok
plid5203773
nameMyBackup

 

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

 

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):

ПараметрПример значенияОбязательный параметрОписание значения
funcinstances.fleio_bckpsДаФункция, для получения всех резервных копий
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
plid5203773Да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):

ПараметрПример значенияОбязательный параметрОписание значения
funcimage.deleteДаФункция, удаление резервной копии
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
plid5203773ДаID instance, резервные копии которой планируется получить
elname

5203980

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

5203980

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

 

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

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: