ZALOGUJ
    opened image

    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: