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