opened image

API - Взаимодействие с Image

Создание image

Чтобы создать image, выполните следующий запрос:

 

URL: 

https://api.zomro.com/

Метод: POST

Тело запроса(Form-data):

ПараметрПример значенияОбязательный параметрОписание значения
funcv2.image.order.paramДаФункция, для создания расписание на создание резервной копии
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
sokokДаПодтверждение операции
image_typeimageДаТип созданного элемента. Доступное значение - image
skipbasketonДаРекомендуется указать «on», так как в случае «off», image не будет создан  
image_nameMyImageДаНазвание изображения
regionNetherlands-2ДаДата центр, в котором сохранить image
min_disk1ДаМинимальный размер диска в ГБ, который должен быть в instance, чтобы можно было использовать image
min_ram1ДаМинимальный размер ОЗУ в ГБ, который должен быть в instance, чтобы можно было использовать image
disk_formatisoДаТип изображения, который создать. Доступные параметры: "iso", "ami", "ari", "aki", "vhd", "vmdk", "raw", "qcow2", "vdi". 
os_distroubuntuДаНазвание ОС, образ который создается
os_version22НетВерсия ОС
architecturex86_64ДаАрхитектура ОС. Доступные параметры: "x86_64", "i686", "ia64"
urlhttps://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.isoДаПрямая ссылка на изображение
protectedonДаРазрешать ли удалять изображение. Доступные параметры: "on", "off"
pricelist6854Да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):

ПараметрЗначение
funcv2.image.order.param
auth21fc199...c43f71
outjson
sokok
image_typeimage
skipbasketon
image_nameUbuntu24
regionNetherlands-2
min_disk1
min_ram1
disk_formatiso
os_distroubuntu
os_version24
architecturex86_64
urlhttps://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso
protectedon
pricelist6854
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):

ПараметрПример значенияОбязательный параметрОписание значения
funcimageДаФункция для получения всех изображений
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать

Попробуем выполнить следующий запрос в консоли:

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):

ПараметрПример значенияОбязательный параметрОписание значения
funcimage.editДаФункция, для редактирования изображения
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
elid5206258ДаID image. Данное значение можно получить при ответе на запрос на получение всех image
image_nameUbuntu24_newНетНазвание Image
min_disk2НетМинимальный размер диска instance, который нужен для использования данного образа
min_ram3НетМинимальный размер памяти instance, который нужен для использования данного образа
os_distroaltlinuxНетНазвание ОС
os_version8НетВерсия ОС
architecturex86_64НетАрхитектура image
protectedoffНетРазрешено ли удалять 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):

ПараметрПример значенияОбязательный параметрОписание значения
funcimage.deleteДаФункция, для удаления изображения
auth21fc199...c43f71НетТокен сессии. Это один из вариантов авторизации. Подробнее, какие еще есть варианты, описаны здесь
outjsonДаТип ответа, который ожидать
elid5206258Да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: