У цьому документі описано процес створення, перегляду та видалення резервних копій для 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