Створення image
Щоб створити image, виконайте наступний запит:
URL:
https://api.zomro.com/
Метод: POST
Тіло запиту (Form-data):
Параметр | Приклад значення | Обов'язковий параметр | Опис значення |
func | v2.image.order.param | Так | Функція для створення розкладу на створення резервної копії |
auth | 21fc199...c43f71 | Ні | Токен сесії. Це один з варіантів авторизації. Докладніше про інші варіанти описано тут |
out | json | Так | Тип відповіді, яку очікувати |
sok | ok | Так | Підтвердження операції |
image_type | image | Так | Тип створеного елемента. Доступне значення - image |
skipbasket | on | Так | Рекомендується вказати «on», оскільки у випадку «off», image не буде створено |
image_name | MyImage | Так | Назва зображення |
region | Netherlands-2 | Так | Дата центр, в якому зберегти image |
min_disk | 1 | Так | Мінімальний розмір диска в ГБ, який повинен бути в instance, щоб можна було використовувати image |
min_ram | 1 | Так | Мінімальний розмір ОЗП в ГБ, який повинен бути в instance, щоб можна було використовувати image |
disk_format | iso | Так | Тип зображення, який створити. Доступні параметри: "iso", "ami", "ari", "aki", "vhd", "vmdk", "raw", "qcow2", "vdi". |
os_distro | ubuntu | Так | Назва ОС, образ якої створюється |
os_version | 22 | Ні | Версія ОС |
architecture | x86_64 | Так | Архітектура ОС. Доступні параметри: "x86_64", "i686", "ia64" |
url | https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso | Так | Пряме посилання на зображення |
protected | on | Так | Дозволяти чи видаляти зображення. Доступні параметри: "on", "off" |
pricelist | 6854 | Так | ID послуги, що відповідає послузі image |
order_period | -50 | Так | Період замовлення. Для типу послуги image використовується тільки денна оплата |
Приклад створення image
Для прикладу, створимо Image з Ubuntu 24.04 https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso:
URL:
https://api.zomro.com/
Метод: POST
Тіло запиту (Form-data):
Параметр | Значення |
func | v2.image.order.param |
auth | 21fc199...c43f71 |
out | json |
sok | ok |
image_type | image |
skipbasket | on |
image_name | Ubuntu24 |
region | Netherlands-2 |
min_disk | 1 |
min_ram | 1 |
disk_format | iso |
os_distro | ubuntu |
os_version | 24 |
architecture | x86_64 |
url | https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso |
protected | on |
pricelist | 6854 |
order_period | -50 |
Ось приклад запиту, який можна виконати з консолі:
curl --location 'https://api.zomro.com/' \
--form 'func="v2.image.order.param"' \
--form 'auth="0f6744198ec41bb23fe1c923"' \
--form 'out="json"' \
--form 'sok="ok"' \
--form 'image_type="image"' \
--form 'skipbasket="on"' \
--form 'image_name="Ubuntu24"' \
--form 'region="Netherlands-2"' \
--form 'min_disk="1"' \
--form 'min_ram="1"' \
--form 'disk_format="iso"' \
--form 'os_distro="ubuntu"' \
--form 'os_version="22"' \
--form 'architecture="x86_64"' \
--form 'url="https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso"' \
--form 'protected="on"' \
--form 'pricelist="6854"' \
--form 'order_period="-50"'
Після виконання запиту, бачимо, що почав створювати image. Поточний статус «Saving»:
Після створення image, статус зміниться з «Saving» на «Active»:
Як за допомогою API можна отримати список всіх image
Для цього виконуємо наступний формат запиту:
URL:
https://api.zomro.com/
Метод: POST
Тіло запиту (Form-data):
Параметр | Приклад значення | Обов'язковий параметр | Опис значення |
func | image | Так | Функція для отримання всіх зображень |
auth | 21fc199...c43f71 | Ні | Токен сесії. Це один з варіантів авторизації. Докладніше про інші варіанти описано тут |
out | json | Так | Тип відповіді, яку очікувати |
Спробуємо виконати наступний запит у консолі:
curl --location 'https://api.zomro.com/' \
--form 'func="image"' \
--form 'auth="1176dc887b147a3eb1da748e"' \
--form 'out="json"'
Отримуємо наступний результат:
{
"doc": {
...
"elem": [
{
"abusesuspend": {
"$": "off"
},
"architecture": {
"$": "x86_64"
},
"archived": {
"$": "off"
},
"autosuspend": {
"$": "off"
},
"billdaily": {
"$": "on"
},
"billhourly": {
"$": "off"
},
"change_pl": {
"$": "0"
},
""change_pricelist": {
"$": "off"
},
"changepolicy": {
"$": "2"
},
"cost": {
"$": "0.00 EUR / Day"
},
"costperiod": {
"$": "-50"
},
"createdate": [
{
"$": "2024-07-24"
},
{
"$": "2024-07-24"
}
],
"currency_id": {
"$": "153"
},
"currency_str": {
"$": "EUR"
},
"description": {},
"disk_format": {
"$": "iso"
},
"employeesuspend": {
"$": "off"
},
"expiredate": {
"$": "Daily charges"
},
"fleio_id": {
"$": "802c0ad6-c918-4769-8111-0a165a076ca4"
},
"fleio_status": {
"$": "Active"
},
"has_ip_pricelist": {
"$": "off"
},
"hypervisor_type": {
"$": "Any hypervisor"
},
"i_expiretime": {
"$": "14:44:24"
},
"i_opentime": {
"$": "15:45:12"
},
"id": {
"$": "5206258"
},
"image_name": {
"$": "Ubuntu24"
},
"image_size": {
"$": "3"
},
"image_type": {
"$": "Image"
},
"intname": [
{
"$": "image"
},
{
"$": "image"
}
],
"it_accurate_billing": {
"$": "no"
},
"item_cost": {
"$": "0.0000"
},
"item_real_status": {
"$": "2"
},
"item_status": {
"$color": "green",
"$orig": "2",
"$": "Active"
},
"itemtype": {
"$": "27163"
},
"min_disk": {
"$": "1"
},
"min_ram": {
"$": "1"
},
"module_failed": {
"$": "off"
},
"module_upload_doc": {
"$": "off"
},
"name": {
"$": "Image #5206258"
},
"no_instruction": {
"$": "on"
},
"order_disabled": {
"$": "off"
},
"os_distro": {
"$": "Ubuntu"
},
"os_version": {
"$": "22"
},
"period": {
"$": "-50"
},
"pmmodule": {
"$": "pmimagemodule"
},
"price_on_request": {
"$": "off"
},
"pricelist": {
"$": "Image"
},
"pricelist_id": {
"$": "6854"
},
"processingmodule_failed": {
"$": "off"
},
"processingnode": {},
"protected": {
"$orig": "on",
"$": "Enable"
},
"real_expiredate": {
"$": "2024-07-25"
},
"region": {
"$": "Netherlands-2"
},
"scheduledclose": {
"$": "off"
},
"show_changepassword": {
"$": "off"
},
"show_domain_validation_button": {
"$": "off"
},
"show_hardreboot": {
"$": "off"
},
"show_movetovdc": {
"$": "off"
},
"show_reboot": {
"$": "on"
},
"show_supportpassword": {
"$": "off"
},
"show_vdc_loadbalancer": {
"$": "off"
},
"show_vdc_network": {
"$": "off"
},
"show_vdc_router": {
"$": "off"
},
"show_vdc_vm": {
"$": "off"
},
"show_vdc_volume": {
"$": "off"
},
"show_webconsole": {
"$": "off"
},
"specialstatus": {
"$": "0"
},
"stat_enabled": {
"$": "on"
},
"status": {
"$": "2"
},
"subaccount": {
"$": "351336"
},
"sync_feature": {
"$": "off"
},
"transition": {
"$": "off"
},
"visibility": {
"$": "Private"
}
},
],
}
}
Нас цікавлять дані, які отримані в наступній вкладеності:
doc.elem.[]
Для редагування image, виконуємо наступний запит:
URL:
https://api.zomro.com/
Метод: POST
Тіло запиту (Form-data):
Параметр | Приклад значення | Обов'язковий параметр | Опис значення |
func | image.edit | Так | Функція для редагування зображення |
auth | 21fc199...c43f71 | Ні | Токен сесії. Це один з варіантів авторизації. Докладніше про інші варіанти описано тут |
out | json | Так | Тип відповіді, яку очікувати |
elid | 5206258 | Так | ID image. Це значення можна отримати у відповіді на запит на отримання всіх image |
image_name | Ubuntu24_new | Ні | Назва Image |
min_disk | 2 | Ні | Мінімальний розмір диска instance, який потрібен для використання цього образу |
min_ram | 3 | Ні | Мінімальний розмір пам'яті instance, який потрібен для використання цього образу |
os_distro | altlinux | Ні | Назва ОС |
os_version | 8 | Ні | Версія ОС |
architecture | x86_64 | Ні | Архітектура image |
protected | off | Ні | Дозволено чи видаляти image |
Спробуємо виконати наступний запит у консолі:
curl --location 'https://api.zomro.com/' \
--form 'func="image.edit"' \
--form 'auth="00bef0b977845f71a1583a2c"' \
--form 'out="json"' \
--form 'sok="ok"' \
--form 'elid="5206258"' \
--form 'image_name="Ubuntu24_new"' \
--form 'min_disk="2"' \
--form 'min_ram="3"' \
--form 'os_distro="altlinux"' \
--form 'os_version="8"' \
--form 'architecture="x86_64"' \
--form 'protected="on"'
Після виконання запиту можна переконатися, що дані image змінилися:
Видалення image
Для видалення Image виконуємо наступний запит:
Метод: POST
Тіло запиту (Form-data):
Параметр | Приклад значення | Обов'язковий параметр | Опис значення |
func | image.delete | Так | Функція для видалення зображення |
auth | 21fc199...c43f71 | Ні | Токен сесії. Це один з варіантів авторизації. Докладніше про інші варіанти описано тут |
out | json | Так | Тип відповіді, яку очікувати |
elid | 5206258 | Так | ID image. Це значення можна отримати у відповіді на запит на отримання всіх image |
Спробуємо виконати наступний запит у консолі:
curl --location 'https://api.zomro.com/' \
--form 'func="image.delete"' \
--form 'auth="9f467da30d0bd6c56fed1b58"' \
--form 'out="json"' \
--form 'elid="5206258"'
Також варто звернути увагу на те, що видалити image потрібно, щоб статус «protected» мав значення «off».
Після виконання запиту, бачимо успішне видалення image.
Також пропонуємо вивчити статті, які можуть бути корисними для взаємодії з продуктами Cloud VPS за допомогою API:
- API - Створення послуги
- API - Отримання інформації про доступні тарифи та їх параметри
- API - Операція Start & Stop
- API - Операція Reboot
- API - Операція Rebuild
- API - Операція Delete
- API - Взаємодія з Backup Schedule
- API - Взаємодія з Rescue
- API - Взаємодія з Backup
- API - Взаємодія з Snapshots
- API - Взаємодія з Boot From ISO