W tym dokumencie opisano proces tworzenia, przeglądania i usuwania snapshots dla instancji za pomocą API serwisu Zomro. Przykłady zapytań pomogą szybko zrozumieć podstawowe operacje niezbędne do zarządzania snapshots przez API.
Tworzenie snapshots
Aby utworzyć snapshots, wykonaj następujące zapytanie:
URL:
https://api.zomro.com/
Metoda: POST
Treść zapytania (Form-data):
Parametr | Przykład wartości | Obowiązkowy parametr | Opis wartości |
func | instances.snapshots.edit | Tak | funkcja do tworzenia snapshots |
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 |
plid | 5203773 | Tak | ID instancji, dla której utworzyć snapshot |
name | MySnapshot | Tak | Nazwa Snapshot |
Przykład tworzenia snapshots dla usługi
Na przykład, użyjemy usługi:
URL:
https://api.zomro.com/
Metoda: POST
Treść zapytania (Form-data):
Parametr | Wartość |
func | instances.snapshots.edit |
auth | 21fc199...c43f71 |
out | json |
sok | ok |
plid | 5203773 |
name | MySnapshot |
Oto przykład zapytania, które można wykonać z konsoli:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.snapshots.edit"' \
--form 'auth="5acd1215da7a09eaae215987"' \
--form 'out="json"' \
--form 'sok="ok"' \
--form 'plid="5203773"' \
--form 'name="MySnapshot"'
Po wykonaniu zapytania, widzimy, że snapshots jest w trakcie tworzenia. Tę informację możemy uzyskać z pola Status, które ma wartość Saving:
Po zakończeniu tworzenia kopii zapasowej, status kopii zapasowej zmieni się z Saving na Active:
Jak widzimy, status snapshot jest Active.
Jak uzyskać listę snapshots
Również za pomocą API można uzyskać listę snapshots. W tym celu wykonujemy następujące zapytanie:
URL:
https://api.zomro.com/
Metoda: POST
Treść zapytania (Form-data):
Parametr | Przykład wartości | Obowiązkowy parametr | Opis wartości |
func | instances.snapshots | Tak | Funkcja do uzyskania wszystkich snapshots |
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 | 5203773 | Tak | ID instancji, snapshots której planuje się uzyskać |
Na przykład, spróbujemy uzyskać snapshots dla usługi 5203773. W poprzednim kroku utworzyliśmy 1 snapshot. Spróbujmy ją uzyskać.
Spróbujmy wykonać następujące zapytanie w konsoli:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.snapshots"' \
--form 'auth="9046d78a8fda29dda83d42dd"' \
--form 'out="json"' \
--form 'elid="5203773"'
Otrzymujemy następujący wynik:
{
"doc": {
...
"elem": [
{
"architecture": {
"$": "x86_64"
},
"createdate": {
"$": "2024-07-23"
},
"disk_format": {
"$": "qcow2"
},
"fleio_id": {
"$": "afd72725-81aa-43ad-984c-a3f3a05b4b84"
},
"fleio_status": {
"$": "Active"
},
"hypervisor_type": {
"$": "any_hypervisor"
},
"id": {
"$": "5204214"
},
"image_size": {
"$": "3"
},
"item_real_status": {
"$": "2"
},
"min_disk": {
"$": "20"
},
"min_ram": {
"$": "0"
},
"name": {
"$": "MySnapshot"
},
"os_distro": {
"$": "Ubuntu"
},
"os_version": {
"$": "22.04 x64"
},
"protected": {
"$": "off"
},
"region": {
"$": "Netherlands-2"
},
"visibility": {
"$": "private"
}
}
],
}
}
Interesują nas dane, które uzyskano w następujących zagnieżdżeniach:
doc.elem.[]
Z tej odpowiedzi uzyskujemy następujące dane:
Nazwa pola | Opis |
architecture | Architektura maszyny wirtualnej |
createdate | Czas utworzenia snapshot |
disk_format | Typ pliku snapshot |
fleio_id | Unikalny UUID w systemie fleio |
fleio_status | Status snapshot. Wartość Active oznacza, że snapshot została utworzona |
hypervisor_type | Typ hypervisora dla maszyny wirtualnej |
id | ID snapshot w ramach bill manager |
image_size | Rzeczywisty rozmiar snapshot. Określany po zakończeniu tworzenia snapshot |
item_real_status | Status usługi w ramach billmanager |
min_disk | Minimalny rozmiar dysku na serwerze potrzebny do przywrócenia tej snapshot |
min_ram | Minimalny rozmiar RAM na serwerze potrzebny do przywrócenia tej snapshot |
name | Nazwa snapshot |
os_distro | Nazwa systemu operacyjnego |
os_version | Wersja systemu operacyjnego |
protected | Informuje, czy usunięcie snapshot jest dozwolone. Przy wartości „off” snapshot można usunąć. W przypadku „on” - snapshot nie można usunąć. |
region | Nazwa centrum danych, w którym znajduje się snapshot |
visibility | Status dostępu do snapshots. Jedyną dostępną wartością jest „Private” |
Aby usunąć snapshot, wykonaj następujące zapytanie:
URL:
https://api.zomro.com/
Metoda: POST
Treść zapytania (Form-data):
Parametr | Przykład wartości | Obowiązkowy parametr | Opis wartości |
func | image.delete | Tak | Funkcja do usunięcia snapshot |
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ć |
plid | 5203773 | Tak | ID instancji, snapshot której planuje się usunąć |
elname | 5204214 | Tak | ID snapshot, którą należy usunąć |
plid | 5204214 | Tak | ID snapshot, którą należy usunąć |
sok | ok | Tak | Potwierdzenie wykonania operacji |
Spróbujmy wykonać następujące zapytanie w konsoli:
curl --location 'https://api.zomro.com/' \
--form 'func="image.delete"' \
--form 'auth="9046d78a8fda29dda83d42dd"' \
--form 'out="json"' \
--form 'sok="ok"' \
--form 'plid="5203773"' \
--form 'elname="5204214"' \
--form 'elid="5204214"'
Po wykonaniu zapytania, wynik można sprawdzić za pomocą funkcji „instances.fleio_bckps” lub przeglądając za pomocą interfejsu webowego:
Jak można zobaczyć, snapshot została pomyślnie usunięta.
Również proponujemy 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 Image
- API - Interakcja z Backup Schedule
- API - Interakcja z Rescue
- API - Interakcja z Backup
- API - Interakcja z Boot From ISO