W tym artykule opisano, jak przeprowadzić operację Rescue za pomocą API.
Użycie Rescue
Aby uruchomić proces Rescue dla instancji, wykonujemy zapytanie w następującym formacie:
URL:
https://api.zomro.com/
Metoda: POST
Treść zapytania (Form-data):
Parametr | Przykład wartości | Obowiązkowy parametr | Opis wartości |
func | instances.fleio.rescue | Tak | Funkcja do użycia Boot from ISO |
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 |
elid | 5203773 | Tak | ID instancji |
select_boot | f8f2573f-56c4-44c5-8469-84eee4aa64e7 | Tak | UUID obrazu, który planujemy użyć |
password | MyPassword1 | Nie | Hasło dostępu do serwera w trybie Rescue. Zaleca się ustawić, aby mieć dostęp do serwera |
zone | pub | Tak | Typ strefy, w której znajduje się obraz. Dostępne parametry: «own», «pub». |
Przykład przejścia instancji w tryb Boot From ISO
Na przykładzie użyjemy usługi:
i załadujemy następujący obraz:
URL:
https://api.zomro.com/
Metoda: POST
Treść zapytania (Form-data):
Parametr | Wartość |
func | instances.fleio.rescue |
auth | 21fc199...c43f71 |
out | json |
sok | ok |
elid | 5203773 |
select_boot_from_iso | f8f2573f-56c4-44c5-8469-84eee4aa64e7 |
zone | pub |
password | MyPassword1 |
Oto przykład zapytania, które można wykonać z konsoli:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.rescue"' \
--form 'auth="43137b5f35a6ba4ee01f4a4e"' \
--form 'out="json"' \
--form 'elid="5203773"' \
--form 'sok="ok"' \
--form 'select_boot="f8f2573f-56c4-44c5-8469-84eee4aa64e7"' \
--form 'password="MyPassword1"' \
--form 'zone="pub"'
Po wykonaniu zapytania widzimy, że instancja przeszła w tryb «Rescue». Potwierdzeniem tego jest wynik na zdjęciu:
Również, jeśli nie przekażemy parametru sok, zapytanie zostanie wykonane w trybie podglądu. Wykonując to zapytanie, można uzyskać dostępne obrazy do przejścia w tryb rescue z wybranego obrazu. Na przykład wykonamy następujące zapytanie, ale bez przekazanego parametru «sok»:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.rescue"' \
--form 'auth="43137b5f35a6ba4ee01f4a4e"' \
--form 'out="json"' \
--form 'elid="5203773"'
Otrzymujemy następującą odpowiedź:
{
"doc": {
...
"slist": [
{
"$name": "zone",
"val": [
{
"$key": "pub",
"$": "pub"
},
{
"$key": "own",
"$": "own"
}
]
},
{
"$name": "select_boot",
"val": [
{
"$depend": "pub",
"$key": "f8f2573f-56c4-44c5-8469-84eee4aa64e7",
"$": "Ubuntu 22.04"
},
{
"$depend": "pub",
"$key": "0bf4deb2-855c-4863-8518-6006d804adbb",
"$": "Debian 10"
},
{
"$depend": "pub",
"$key": "18d0ee2e-4d57-4f40-9b56-03c1773b5831",
"$": "AlmaLinux 8"
},
{
"$depend": "pub",
"$key": "1d9dda4c-34b0-4304-a90a-8f3018722fa2",
"$": "Rocky-Linux-8"
},
{
"$depend": "pub",
"$key": "2af0af94-0e6e-4ef3-8837-d41fdbfa3564",
"$": "Windows Server 2016"
},
{
"$depend": "pub",
"$key": "3010ae60-0185-4021-98da-f50013147ebd",
"$": "Debian 11"
},
{
"$depend": "pub",
"$key": "479c96f1-ccc6-47a2-952c-c9e3bbdc8d07",
"$": "Ubuntu 20.04"
},
{
"$depend": "pub",
"$key": "5da4ad83-45f6-4c0e-9a7e-7a7c18b2be6c",
"$": "AlmaLinux 9"
},
{
"$depend": "pub",
"$key": "7d7911e3-7178-4f36-a308-d841db5fe654",
"$": "CentOS Stream 9"
},
{
"$depend": "pub",
"$key": "92fabac2-69cc-46ad-8439-c377e0c90632",
"$": "Ubuntu 23.04"
},
{
"$depend": "pub",
"$key": "93878ba5-6b9e-4924-a4be-34edb623f808",
"$": "Debian 12"
},
{
"$depend": "pub",
"$key": "a8b7bcb3-6698-4264-b413-f2b866a46a70",
"$": "Rocky-Linux-9"
},
{
"$depend": "pub",
"$key": "b10434c0-d839-428f-a919-cac733fd6552",
"$": "Windows Server 2019"
},
{
"$depend": "pub",
"$key": "bda2467e-e192-4e4e-becc-cda2e71b9767",
"$": "Windows Server 2022"
},
{
"$depend": "own",
"$name": "foo",
"$key": "a9e7c223-5f11-4546-a298-6af546bebde6",
"$": "Centos 9 x64"
},
]
}
],
}
}
Analizując tę strukturę odpowiedzi, interesujące nas dane znajdują się w następującej zagnieżdżeniu:
doc.slist.[]
Jak widzimy, mamy dostępne obrazy:
UUID | Nazwa obrazu | Nazwa OS | Obszar widoczności |
f8f2573f-56c4-44c5-8469-84eee4aa64e7 | - | Ubuntu 22.04 | pub |
0bf4deb2-855c-4863-8518-6006d804adbb | - | Debian 10 | pub |
18d0ee2e-4d57-4f40-9b56-03c1773b5831 | - | AlmaLinux 8 | pub |
1d9dda4c-34b0-4304-a90a-8f3018722fa2 | - | Rocky-Linux-8 | pub |
2af0af94-0e6e-4ef3-8837-d41fdbfa3564 | - | Windows Server 2016 | pub |
3010ae60-0185-4021-98da-f50013147ebd | - | Debian 11 | pub |
479c96f1-ccc6-47a2-952c-c9e3bbdc8d07 | - | Ubuntu 20.04 | pub |
5da4ad83-45f6-4c0e-9a7e-7a7c18b2be6c | - | AlmaLinux 9 | pub |
7d7911e3-7178-4f36-a308-d841db5fe654 | - | CentOS Stream 9 | pub |
92fabac2-69cc-46ad-8439-c377e0c90632 | - | Ubuntu 23.04 | pub |
93878ba5-6b9e-4924-a4be-34edb623f808 | - | Debian 12 | pub |
a8b7bcb3-6698-4264-b413-f2b866a46a70 | - | Rocky-Linux-9 | pub |
b10434c0-d839-428f-a919-cac733fd6552 | - | Windows Server 2019 | pub |
bda2467e-e192-4e4e-becc-cda2e71b9767 | - | Windows Server 2022 | pub |
a9e7c223-5f11-4546-a298-6af546bebde6 | foo | Centos 9 x64 | own |
Obraz z modyfikatorem dostępu «pub» jest dostępny dla wszystkich użytkowników. Natomiast z «own» - jest dostępny tylko dla właściciela obrazu.
Również, aby wyjść z trybu «Rescue», wykonujemy następujące zapytanie API w następującym formacie:
URL:
https://api.zomro.com/
Metoda: POST
Treść zapytania (Form-data):
Parametr | Przykład wartości | Obowiązkowy parametr | Opis wartości |
func | instances.fleio.unrescue | Tak | Funkcja do wyjścia z trybu «Rescue» |
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 |
Jak wyłączyć tryb «Rescue»
Na przykładzie wyłączymy tryb «Rescue» dla instancji z ID 5203773.
Spróbujemy wykonać następujące zapytanie w konsoli:
curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.unrescue"' \
--form 'auth="0b31d69ab7b7b4839dfd6506"' \
--form 'out="json"' \
--form 'elid="5203773"'
Po wykonaniu zapytania widzimy, że usługa jest aktywna:
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 Backup
- API - Interakcja z Snapshots
- API - Interakcja z Boot From ISO