opened image

API - Interakcja z Image

Tworzenie obrazu

Aby utworzyć obraz, wykonaj następujące żądanie:

 

URL: 

https://api.zomro.com/

Metoda: POST

Treść żądania (Form-data):

ParametrPrzykładowa wartośćObowiązkowy parametrOpis wartości
funcv2.image.order.paramTakFunkcja do tworzenia harmonogramu tworzenia kopii zapasowej
auth21fc199...c43f71NieToken sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj
outjsonTakTyp odpowiedzi, której oczekiwać
sokokTakPotwierdzenie operacji
image_typeimageTakTyp tworzonego elementu. Dostępna wartość - image
skipbasketonTakZaleca się wskazać «on», ponieważ w przypadku «off» obraz nie zostanie utworzony
image_nameMyImageTakNazwa obrazu
regionNetherlands-2TakCentrum danych, w którym zapisać obraz
min_disk1TakMinimalny rozmiar dysku w GB, który musi mieć instancja, aby można było używać obrazu
min_ram1TakMinimalny rozmiar RAM w GB, który musi mieć instancja, aby można było używać obrazu
disk_formatisoTakTyp obrazu, który utworzyć. Dostępne parametry: "iso", "ami", "ari", "aki", "vhd", "vmdk", "raw", "qcow2", "vdi".
os_distroubuntuTakNazwa systemu operacyjnego, którego obraz jest tworzony
os_version22NieWersja systemu operacyjnego
architecturex86_64TakArchitektura systemu operacyjnego. Dostępne parametry: "x86_64", "i686", "ia64"
urlhttps://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.isoTakBezpośredni link do obrazu
protectedonTakCzy zezwolić na usunięcie obrazu. Dostępne parametry: "on", "off"
pricelist6854TakID usługi odpowiadającej usłudze obrazu
order_period-50TakOkres zamówienia. Dla typu usługi obraz, używana jest tylko dzienna opłata

 

Przykład tworzenia obrazu

Dla przykładu, utworzymy obraz z Ubuntu 24.04 https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso:

 

URL: 

https://api.zomro.com/

 

Metoda: POST

Treść żądania (Form-data):

ParametrWartość
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

 

Oto przykład żądania, które można wykonać z konsoli:

 

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"'

 

Po wykonaniu żądania widzimy, że obraz zaczął się tworzyć. Aktualny status «Saving»:

 

Po utworzeniu obrazu, status zmieni się z «Saving» na «Active»:

 

 Jak za pomocą API można uzyskać listę wszystkich obrazów

 

 

Aby to zrobić, wykonaj następujące żądanie:

 URL: 

https://api.zomro.com/

Metoda: POST

Treść żądania (Form-data):

ParametrPrzykładowa wartośćObowiązkowy parametrOpis wartości
funcimageTakFunkcja do uzyskania wszystkich obrazów
auth21fc199...c43f71NieToken sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj
outjsonTakTyp odpowiedzi, której oczekiwać

Spróbujmy wykonać następujące żądanie w konsoli:

curl --location 'https://api.zomro.com/' \
--form 'func="image"' \
--form 'auth="1176dc887b147a3eb1da748e"' \
--form 'out="json"'

Otrzymujemy następujący wynik:

{
    "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"
                }
            },
        ],
    }
}

 

Interesują nas dane, które zostały uzyskane w następującej strukturze:

doc.elem.[]

 

Aby edytować obraz, wykonaj następujące żądanie:

 URL: 

https://api.zomro.com/

Metoda: POST

Treść żądania (Form-data):

ParametrPrzykładowa wartośćObowiązkowy parametrOpis wartości
funcimage.editTakFunkcja do edytowania obrazu
auth21fc199...c43f71NieToken sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj
outjsonTakTyp odpowiedzi, której oczekiwać
elid5206258TakID obrazu. Tę wartość można uzyskać w odpowiedzi na żądanie uzyskania wszystkich obrazów
image_nameUbuntu24_newNieNazwa obrazu
min_disk2NieMinimalny rozmiar dysku instancji, który jest potrzebny do używania tego obrazu
min_ram3NieMinimalny rozmiar pamięci instancji, który jest potrzebny do używania tego obrazu
os_distroaltlinuxNieNazwa systemu operacyjnego
os_version8NieWersja systemu operacyjnego
architecturex86_64NieArchitektura obrazu
protectedoffNieCzy zezwolić na usunięcie obrazu

Spróbujmy wykonać następujące żądanie w konsoli:

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"'

Po wykonaniu żądania można upewnić się, że dane obrazu zostały zmienione:

 

Usuwanie obrazu

 

Aby usunąć obraz, wykonaj następujące żądanie:

 

Metoda: POST

Treść żądania (Form-data):

ParametrPrzykładowa wartośćObowiązkowy parametrOpis wartości
funcimage.deleteTakFunkcja do usuwania obrazu
auth21fc199...c43f71NieToken sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj
outjsonTakTyp odpowiedzi, której oczekiwać
elid5206258TakID obrazu. Tę wartość można uzyskać w odpowiedzi na żądanie uzyskania wszystkich obrazów

Spróbujmy wykonać następujące żądanie w konsoli:

curl --location 'https://api.zomro.com/' \
--form 'func="image.delete"' \
--form 'auth="9f467da30d0bd6c56fed1b58"' \
--form 'out="json"' \
--form 'elid="5206258"'

Warto również zwrócić uwagę, że aby usunąć obraz, status «protected» musi mieć wartość «off».

Po wykonaniu żądania widzimy, że obraz został pomyślnie usunięty.

 

Proponujemy również zapoznać się z artykułami, które mogą być przydatne do interakcji z produktami Cloud VPS za pomocą API: