opened image

API - Sąveika su Snapshots

Šiame dokumente aprašomas procesas, kaip sukurti, peržiūrėti ir ištrinti snapshots instance naudojant Zomro paslaugos API. Pateikti užklausų pavyzdžiai padės jums greitai suprasti pagrindines operacijas, reikalingas valdyti snapshots per API.

 

Snapshots kūrimas

Norėdami sukurti snapshots, atlikite šią užklausą:

 

URL: 

https://api.zomro.com/

Metodas: POST

Užklausos kūnas (Form-data):

ParametrasPavyzdinė vertėPrivalomas parametrasVertės aprašymas
funcinstances.snapshots.editTaipfunkcija snapshots kūrimui
auth21fc199...c43f71NeSesijos tokenas. Tai vienas iš autorizacijos būdų. Daugiau apie kitus būdus aprašyta čia
outjsonTaipAtsakymo tipas, kurio tikėtis
sokokTaipOperacijos patvirtinimas
plid5203773TaipID instance, kuriai sukurti snapshot
nameMySnapshotTaipSnapshot pavadinimas

 

Snapshots kūrimo pavyzdys paslaugai

Pavyzdžiui, naudojame paslaugą:

 

 

URL: 

https://api.zomro.com/

 

Metodas: POST

Užklausos kūnas (Form-data):

ParametrasVertė
funcinstances.snapshots.edit
auth21fc199...c43f71
outjson
sokok
plid5203773
nameMySnapshot

 

Štai užklausos pavyzdys, kurį galima atlikti iš konsolės:

 

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 užklausos atlikimo, matome, kad snapshots yra kuriamas. Šią informaciją galime gauti iš lauko Status, kuris turi vertę Saving:

 

 

Po rezervinės kopijos kūrimo pabaigos, rezervinės kopijos statusas pasikeis iš Saving į Active:

 

 

Kaip matome, snapshot statusas yra Active.

 

Kaip gauti snapshots sąrašą

 

Taip pat, naudojant API, galima gauti snapshots sąrašą. Tam atlikite šią užklausą:

 URL: 

https://api.zomro.com/

Metodas: POST

Užklausos kūnas (Form-data):

ParametrasPavyzdinė vertėPrivalomas parametrasVertės aprašymas
funcinstances.snapshotsTaipFunkcija, skirta gauti visus snapshots
auth21fc199...c43f71NeSesijos tokenas. Tai vienas iš autorizacijos būdų. Daugiau apie kitus būdus aprašyta čia
outjsonTaipAtsakymo tipas, kurio tikėtis
elid5203773TaipID instance, kurios snapshots planuojama gauti

 

Pavyzdžiui, pabandykime gauti snapshots paslaugai 5203773. Ankstesniame žingsnyje sukūrėme 1 snapshot. Pabandykime ją gauti.

Pabandykime atlikti šią užklausą konsolėje:

curl --location 'https://api.zomro.com/' \
--form 'func="instances.snapshots"' \
--form 'auth="9046d78a8fda29dda83d42dd"' \
--form 'out="json"' \
--form 'elid="5203773"'

Gauname šį rezultatą:

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

 

Mus domina duomenys, kurie gauti šioje struktūroje:

doc.elem.[]

 

Iš šio atsakymo gauname šiuos duomenis:

Lauko pavadinimasAprašymas

architecture

Virtualios mašinos architektūra

createdate

Snapshot sukūrimo laikas

disk_format

Snapshot failo tipas

fleio_id

Unikalus UUID fleio sistemoje

fleio_status

Snapshot statusas. Vertė Active reiškia, kad snapshot sukurta

hypervisor_type

Virtualios mašinos hipervizoriaus tipas

id

Snapshot ID bill manager sistemoje

image_size

Faktinis snapshot dydis. Nustatomas po snapshot kūrimo pabaigos

item_real_status

Paslaugos statusas billmanager sistemoje

min_disk

Minimalus disko dydis serveryje, reikalingas atkurti šią snapshot

min_ram

Minimalus RAM dydis serveryje, reikalingas atkurti šią snapshot

name

Snapshot pavadinimas

os_distro

Operacinės sistemos pavadinimas

os_version

Operacinės sistemos versija

protected

Informuoja, ar leidžiama ištrinti snapshot. Vertė „off“ reiškia, kad snapshot galima ištrinti. Vertė „on“ reiškia, kad snapshot negalima ištrinti.

region

Duomenų centro pavadinimas, kuriame yra snapshot

visibility

Snapshots prieigos statusas. Vienintelė prieinama vertė yra „Private“

 

Norėdami ištrinti snapshot, atlikite šią užklausą:

 URL: 

https://api.zomro.com/

Metodas: POST

Užklausos kūnas (Form-data):

ParametrasPavyzdinė vertėPrivalomas parametrasVertės aprašymas
funcimage.deleteTaipTaipFunkcija, skirta snapshot ištrynimui
auth21fc199...c43f71NeSesijos tokenas. Tai vienas iš autorizacijos būdų. Daugiau apie kitus būdus aprašyta čia
outjsonTaipAtsakymo tipas, kurio tikėtis
plid5203773TaipID instance, kurios snapshot planuojama ištrinti
elname

5204214

TaipID snapshot, kurią reikia ištrinti
plid

5204214

TaipID snapshot, kurią reikia ištrinti
sokokTaipOperacijos patvirtinimas

 

Pabandykime atlikti šią užklausą konsolėje:

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 užklausos atlikimo, rezultatą galima patikrinti naudojant funkciją „instances.fleio_bckps“ arba peržiūrint per web sąsają:

 

 

Kaip matome, snapshot buvo sėkmingai ištrinta.

 

Taip pat siūlome susipažinti su straipsniais, kurie gali būti naudingi sąveikai su Cloud VPS produktais naudojant API: