В этом документе описан процесс создания, просмотра и удаления резервных копий для 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:
- API - Создание услуги
- API - Получение информации о доступных тарифах и их параметрах
- API - Операция Start & Stop
- API - Операция Reboot
- API - Операция Rebuild
- API - Операция Delete
- API - Взаимодействие с Image
- API - Взаимодействие с Backup Schedule
- API - Взаимодействие с Rescue
- API - Взаимодействие с Snapshots
- API - Взаимодействие с Boot From ISO