opened image

API - Mijiedarbība ar Snapshots

Šajā dokumentā ir aprakstīts process, kā izveidot, skatīt un dzēst snapshots instancei, izmantojot Zomro API pakalpojumu. Piemēri pieprasījumiem palīdzēs jums ātri saprast galvenās darbības, kas nepieciešamas snapshots pārvaldībai caur API.

 

Snapshots izveide

Lai izveidotu snapshots, izpildiet šādu pieprasījumu:

 

URL: 

https://api.zomro.com/

Metode: POST

Pieprasījuma ķermenis (Form-data):

ParametrsVērtības piemērsObligāts parametrsVērtības apraksts
funcinstances.snapshots.editfunkcija snapshots izveidei
auth21fc199...c43f71Sesijas tokens. Tas ir viens no autorizācijas veidiem. Vairāk par citiem veidiem aprakstīts šeit
outjsonAtbildes tips, kuru sagaidīt
sokokDarbības apstiprinājums
plid5203773Instance ID, kurai izveidot snapshot
nameMySnapshotSnapshot nosaukums

 

Piemērs snapshots izveidei pakalpojumam

Piemēram, izmantojam pakalpojumu:

 

 

URL: 

https://api.zomro.com/

 

Metode: POST

Pieprasījuma ķermenis (Form-data):

ParametrsVērtība
funcinstances.snapshots.edit
auth21fc199...c43f71
outjson
sokok
plid5203773
nameMySnapshot

 

Šeit ir pieprasījuma piemērs, kuru var izpildīt no konsoles:

 

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"'

 

Pēc pieprasījuma izpildes redzam, ka snapshots ir izveides procesā. Šo informāciju varam iegūt no lauka Status, kuram ir vērtība Saving:

 

 

Pēc rezerves kopijas izveides pabeigšanas, rezerves kopijas statuss mainīsies no Saving uz Active:

 

 

Kā redzam, snapshot statuss ir Active.

 

Kā iegūt snapshots sarakstu

 

Arī, izmantojot API, ir iespējams iegūt snapshots sarakstu. Lai to izdarītu, izpildiet šādu pieprasījuma formātu:

 URL: 

https://api.zomro.com/

Metode: POST

Pieprasījuma ķermenis (Form-data):

ParametrsVērtības piemērsObligāts parametrsVērtības apraksts
funcinstances.snapshotsFunkcija, lai iegūtu visus snapshots
auth21fc199...c43f71Sesijas tokens. Tas ir viens no autorizācijas veidiem. Vairāk par citiem veidiem aprakstīts šeit
outjsonAtbildes tips, kuru sagaidīt
elid5203773Instance ID, kuras snapshots plānots iegūt

 

Piemēram, mēģināsim iegūt snapshots pakalpojumam 5203773. Iepriekšējā solī izveidojām 1 snapshot. Mēģināsim to iegūt.

Mēģināsim izpildīt šādu pieprasījumu konsolē:

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

Iegūstam šādu rezultātu:

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

 

Mūs interesē dati, kas iegūti šādā ligzdojumā:

doc.elem.[]

 

No šīs atbildes mēs iegūstam šādus datus:

Lauka nosaukumsApraksts

architecture

Virtuālās mašīnas arhitektūra

createdate

Snapshot izveides laiks

disk_format

Snapshot faila tips

fleio_id

Unikāls UUID fleio sistēmā

fleio_status

Snapshot statuss. Vērtība Active nozīmē, ka snapshot ir izveidota

hypervisor_type

Virtuālās mašīnas hipervizora tips

id

Snapshot ID bill manager ietvaros

image_size

Snapshot faktiskais izmērs. Nosakāms pēc snapshot izveides pabeigšanas

item_real_status

Pakalpojuma statuss billmanager ietvaros

min_disk

Minimālais diska izmērs serverī, kas nepieciešams, lai atjaunotu šo snapshot

min_ram

Minimālais RAM izmērs serverī, kas nepieciešams, lai atjaunotu šo snapshot

name

Snapshot nosaukums

os_distro

Operētājsistēmas nosaukums

os_version

Operētājsistēmas versija

protected

Informē, vai snapshot ir atļauts dzēst. Ja vērtība ir "off", snapshot var dzēst. Ja vērtība ir "on", snapshot nevar dzēst.

region

Datacentra nosaukums, kur atrodas snapshot

visibility

Piekļuves statuss snapshots. Vienīgā pieejamā vērtība ir "Private"

 

Lai dzēstu snapshot, izpildiet šādu pieprasījumu:

 URL: 

https://api.zomro.com/

Metode: POST

Pieprasījuma ķermenis (Form-data):

ParametrsVērtības piemērsObligāts parametrsVērtības apraksts
funcimage.deleteFunkcija, snapshot dzēšanai
auth21fc199...c43f71Sesijas tokens. Tas ir viens no autorizācijas veidiem. Vairāk par citiem veidiem aprakstīts šeit
outjsonAtbildes tips, kuru sagaidīt
plid5203773Instance ID, kuras snapshot plānots dzēst
elname

5204214

Snapshot ID, kuru nepieciešams dzēst
plid

5204214

Snapshot ID, kuru nepieciešams dzēst
sokokDarbības apstiprinājums

 

Mēģināsim izpildīt šādu pieprasījumu konsolē:

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"'

Pēc pieprasījuma izpildes, rezultātu var pārbaudīt, izmantojot funkciju "instances.fleio_bckps", vai apskatot to caur tīmekļa interfeisu:

 

 

Kā var redzēt, snapshot tika veiksmīgi dzēsts.

 

Arī piedāvājam izpētīt rakstus, kas var būt noderīgi mijiedarbībai ar Cloud VPS produktiem, izmantojot API: