opened image

API - ურთიერთქმედება Snapshots-თან

ამ დოკუმენტში აღწერილია snapshots-ის შექმნის, დათვალიერების და წაშლის პროცესი instance-ისთვის Zomro სერვისის API-ის გამოყენებით. მოყვანილი მოთხოვნების მაგალითები დაგეხმარებათ სწრაფად გაერკვიოთ ძირითად ოპერაციებში, რომლებიც საჭიროა snapshots-ის მართვისთვის API-ის მეშვეობით.

 

snapshots-ის შექმნა

snapshots-ის შესაქმნელად, შეასრულეთ შემდეგი მოთხოვნა:

 

URL: 

https://api.zomro.com/

მეთოდი: POST

მოთხოვნის სხეული (Form-data):

პარამეტრიმნიშვნელობის მაგალითისავალდებულო პარამეტრიმნიშვნელობის აღწერა
funcinstances.snapshots.editდიახფუნქცია snapshots-ის შესაქმნელად
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ
outjsonდიახპასუხის ტიპი, რომელიც მოსალოდნელია
sokokდიახოპერაციის დადასტურება
plid5203773დიახID instance-ისთვის, რომლისთვისაც უნდა შეიქმნას snapshot
nameMySnapshotდიახSnapshot-ის სახელი

 

snapshots-ის შექმნის მაგალითი სერვისისთვის

მაგალითისთვის, გამოვიყენოთ სერვისი:

 

 

URL: 

https://api.zomro.com/

 

მეთოდი: POST

მოთხოვნის სხეული (Form-data):

პარამეტრიმნიშვნელობა
funcinstances.snapshots.edit
auth21fc199...c43f71
outjson
sokok
plid5203773
nameMySnapshot

 

აი, მოთხოვნის მაგალითი, რომელიც შეიძლება შესრულდეს კონსოლიდან:

 

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

 

მოთხოვნის შესრულების შემდეგ, ვხედავთ, რომ snapshots შექმნის პროცესშია. ამ ინფორმაციას ვიღებთ Status ველიდან, რომელიც აქვს მნიშვნელობა Saving:

 

 

რეზერვული ასლის შექმნის დასრულების შემდეგ, რეზერვული ასლის სტატუსი შეიცვლება Saving-დან Active-ზე:

 

 

როგორც ვხედავთ, snapshot-ის სტატუსი არის Active.

 

როგორ მივიღოთ snapshots-ის სია

 

ასევე, API-ის მეშვეობით შესაძლებელია snapshots-ის სიის მიღება. ამისთვის შეასრულეთ შემდეგი ფორმატის მოთხოვნა:

 URL: 

https://api.zomro.com/

მეთოდი: POST

მოთხოვნის სხეული (Form-data):

პარამეტრიმნიშვნელობის მაგალითისავალდებულო პარამეტრიმნიშვნელობის აღწერა
funcinstances.snapshotsდიახფუნქცია, snapshots-ის მისაღებად
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ
outjsonდიახპასუხის ტიპი, რომელიც მოსალოდნელია
elid5203773დიახID instance-ისთვის, snapshots-ის მისაღებად

 

მაგალითისთვის, ვცადოთ snapshots-ის მიღება სერვისისთვის 5203773. წინა ნაბიჯზე, შევქმენით 1 snapshot. ვცადოთ მისი მიღება.

ვცადოთ შემდეგი მოთხოვნის შესრულება კონსოლიდან:

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

ვიღებთ შემდეგ შედეგს:

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

 

ჩვენთვის საინტერესოა მონაცემები, რომლებიც მიღებულია შემდეგი ჩაშენებულობის მიხედვით:

doc.elem.[]

 

ამ პასუხიდან, ვიღებთ შემდეგ მონაცემებს:

ველის სახელიაღწერა

architecture

ვირტუალური მანქანის არქიტექტურა

createdate

snapshot-ის შექმნის დრო

disk_format

snapshot-ის ფაილის ტიპი

fleio_id

უნიკალური UUID fleio სისტემაში

fleio_status

snapshot-ის სტატუსი. მნიშვნელობა Active ნიშნავს, რომ snapshot შექმნილია

hypervisor_type

ვირტუალური მანქანის ჰიპერვიზორის ტიპი

id

ID snapshot bill manager-ის ფარგლებში

image_size

snapshot-ის ფაქტობრივი ზომა. განისაზღვრება snapshot-ის შექმნის დასრულების შემდეგ

item_real_status

სერვისის სტატუსი billmanager-ის ფარგლებში

min_disk

სერვერზე საჭირო მინიმალური დისკის ზომა, რომ აღდგეს snapshot

min_ram

სერვერზე საჭირო მინიმალური RAM-ის ზომა, რომ აღდგეს snapshot

name

snapshot-ის სახელი

os_distro

ოპერაციული სისტემის სახელი

os_version

ოპერაციული სისტემის ვერსია

protected

იუწყება, შესაძლებელია თუ არა snapshot-ის წაშლა. მნიშვნელობა «off» ნიშნავს, რომ snapshot შესაძლებელია წაშლა. «on» შემთხვევაში - snapshot წაშლა შეუძლებელია.

region

snapshot-ის მდებარეობის მონაცემთა ცენტრის სახელი

visibility

snapshots-ის წვდომის სტატუსი. ერთადერთი ხელმისაწვდომი მნიშვნელობა არის «Private» 

 

snapshot-ის წასაშლელად შეასრულეთ შემდეგი მოთხოვნა:

 URL: 

https://api.zomro.com/

მეთოდი: POST

მოთხოვნის სხეული (Form-data):

პარამეტრიმნიშვნელობის მაგალითისავალდებულო პარამეტრიმნიშვნელობის აღწერა
funcimage.deleteდიახფუნქცია, snapshot-ის წასაშლელად
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ
outjsonდიახპასუხის ტიპი, რომელიც მოსალოდნელია
plid5203773დიახID instance-ისთვის, snapshot-ის წასაშლელად
elname

5204214

დიახID snapshot-ის, რომელიც უნდა წაიშალოს
plid

5204214

დიახID snapshot-ის, რომელიც უნდა წაიშალოს
sokokდიახოპერაციის შესრულების დადასტურება

 

ვცადოთ შემდეგი მოთხოვნის შესრულება კონსოლიდან:

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

მოთხოვნის შესრულების შემდეგ, შედეგის შემოწმება შესაძლებელია ფუნქციის «instances.fleio_bckps» გამოყენებით, ან ვებ ინტერფეისის მეშვეობით:

 

 

როგორც ხედავთ, snapshot წარმატებით წაიშალა.

 

ასევე გთავაზობთ სტატიების შესწავლას, რომლებიც შეიძლება სასარგებლო იყოს Cloud VPS პროდუქტებთან ურთიერთობისთვის API-ის მეშვეობით: