Tworzenie obrazu
Aby utworzyć obraz, wykonaj następujące żądanie:
URL:
https://api.zomro.com/
Metoda: POST
Treść żądania (Form-data):
Parametr | Przykładowa wartość | Obowiązkowy parametr | Opis wartości |
func | v2.image.order.param | Tak | Funkcja do tworzenia harmonogramu tworzenia kopii zapasowej |
auth | 21fc199...c43f71 | Nie | Token sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj |
out | json | Tak | Typ odpowiedzi, której oczekiwać |
sok | ok | Tak | Potwierdzenie operacji |
image_type | image | Tak | Typ tworzonego elementu. Dostępna wartość - image |
skipbasket | on | Tak | Zaleca się wskazać «on», ponieważ w przypadku «off» obraz nie zostanie utworzony |
image_name | MyImage | Tak | Nazwa obrazu |
region | Netherlands-2 | Tak | Centrum danych, w którym zapisać obraz |
min_disk | 1 | Tak | Minimalny rozmiar dysku w GB, który musi mieć instancja, aby można było używać obrazu |
min_ram | 1 | Tak | Minimalny rozmiar RAM w GB, który musi mieć instancja, aby można było używać obrazu |
disk_format | iso | Tak | Typ obrazu, który utworzyć. Dostępne parametry: "iso", "ami", "ari", "aki", "vhd", "vmdk", "raw", "qcow2", "vdi". |
os_distro | ubuntu | Tak | Nazwa systemu operacyjnego, którego obraz jest tworzony |
os_version | 22 | Nie | Wersja systemu operacyjnego |
architecture | x86_64 | Tak | Architektura systemu operacyjnego. Dostępne parametry: "x86_64", "i686", "ia64" |
url | https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso | Tak | Bezpośredni link do obrazu |
protected | on | Tak | Czy zezwolić na usunięcie obrazu. Dostępne parametry: "on", "off" |
pricelist | 6854 | Tak | ID usługi odpowiadającej usłudze obrazu |
order_period | -50 | Tak | Okres 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):
Parametr | Wartość |
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 |
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):
Parametr | Przykładowa wartość | Obowiązkowy parametr | Opis wartości |
func | image | Tak | Funkcja do uzyskania wszystkich obrazów |
auth | 21fc199...c43f71 | Nie | Token sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj |
out | json | Tak | Typ 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):
Parametr | Przykładowa wartość | Obowiązkowy parametr | Opis wartości |
func | image.edit | Tak | Funkcja do edytowania obrazu |
auth | 21fc199...c43f71 | Nie | Token sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj |
out | json | Tak | Typ odpowiedzi, której oczekiwać |
elid | 5206258 | Tak | ID obrazu. Tę wartość można uzyskać w odpowiedzi na żądanie uzyskania wszystkich obrazów |
image_name | Ubuntu24_new | Nie | Nazwa obrazu |
min_disk | 2 | Nie | Minimalny rozmiar dysku instancji, który jest potrzebny do używania tego obrazu |
min_ram | 3 | Nie | Minimalny rozmiar pamięci instancji, który jest potrzebny do używania tego obrazu |
os_distro | altlinux | Nie | Nazwa systemu operacyjnego |
os_version | 8 | Nie | Wersja systemu operacyjnego |
architecture | x86_64 | Nie | Architektura obrazu |
protected | off | Nie | Czy 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):
Parametr | Przykładowa wartość | Obowiązkowy parametr | Opis wartości |
func | image.delete | Tak | Funkcja do usuwania obrazu |
auth | 21fc199...c43f71 | Nie | Token sesji. Jest to jedna z opcji autoryzacji. Więcej informacji o innych opcjach znajduje się tutaj |
out | json | Tak | Typ odpowiedzi, której oczekiwać |
elid | 5206258 | Tak | ID 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:
- API - Tworzenie usługi
- API - Uzyskiwanie informacji o dostępnych taryfach i ich parametrach
- API - Operacja Start & Stop
- API - Operacja Reboot
- API - Operacja Rebuild
- API - Operacja Delete
- API - Interakcja z harmonogramem kopii zapasowych
- API - Interakcja z Rescue
- API - Interakcja z Backup
- API - Interakcja z migawkami
- API - Interakcja z Boot From ISO