Создание 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