ამ დოკუმენტში აღწერილია snapshots-ის შექმნის, დათვალიერების და წაშლის პროცესი instance-ისთვის Zomro სერვისის API-ის გამოყენებით. მოყვანილი მოთხოვნების მაგალითები დაგეხმარებათ სწრაფად გაერკვიოთ ძირითად ოპერაციებში, რომლებიც საჭიროა snapshots-ის მართვისთვის API-ის მეშვეობით.
snapshots-ის შექმნა
snapshots-ის შესაქმნელად, შეასრულეთ შემდეგი მოთხოვნა:
URL:
https://api.zomro.com/
მეთოდი: POST
მოთხოვნის სხეული (Form-data):
პარამეტრი | მნიშვნელობის მაგალითი | სავალდებულო პარამეტრი | მნიშვნელობის აღწერა |
func | instances.snapshots.edit | დიახ | ფუნქცია snapshots-ის შესაქმნელად |
auth | 21fc199...c43f71 | არა | სესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ |
out | json | დიახ | პასუხის ტიპი, რომელიც მოსალოდნელია |
sok | ok | დიახ | ოპერაციის დადასტურება |
plid | 5203773 | დიახ | ID instance-ისთვის, რომლისთვისაც უნდა შეიქმნას snapshot |
name | MySnapshot | დიახ | Snapshot-ის სახელი |
snapshots-ის შექმნის მაგალითი სერვისისთვის
მაგალითისთვის, გამოვიყენოთ სერვისი:
URL:
https://api.zomro.com/
მეთოდი: POST
მოთხოვნის სხეული (Form-data):
პარამეტრი | მნიშვნელობა |
func | instances.snapshots.edit |
auth | 21fc199...c43f71 |
out | json |
sok | ok |
plid | 5203773 |
name | MySnapshot |
აი, მოთხოვნის მაგალითი, რომელიც შეიძლება შესრულდეს კონსოლიდან:
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):
პარამეტრი | მნიშვნელობის მაგალითი | სავალდებულო პარამეტრი | მნიშვნელობის აღწერა |
func | instances.snapshots | დიახ | ფუნქცია, snapshots-ის მისაღებად |
auth | 21fc199...c43f71 | არა | სესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ |
out | json | დიახ | პასუხის ტიპი, რომელიც მოსალოდნელია |
elid | 5203773 | დიახ | 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):
პარამეტრი | მნიშვნელობის მაგალითი | სავალდებულო პარამეტრიმნიშვნელობის აღწერა | |
func | image.delete | დიახ | ფუნქცია, snapshot-ის წასაშლელად |
auth | 21fc199...c43f71 | არა | სესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ |
out | json | დიახ | პასუხის ტიპი, რომელიც მოსალოდნელია |
plid | 5203773 | დიახ | ID instance-ისთვის, snapshot-ის წასაშლელად |
elname |
5204214 |
დიახ | ID snapshot-ის, რომელიც უნდა წაიშალოს |
plid |
5204214 |
დიახ | ID snapshot-ის, რომელიც უნდა წაიშალოს |
sok | ok | დიახ | ოპერაციის შესრულების დადასტურება |
ვცადოთ შემდეგი მოთხოვნის შესრულება კონსოლიდან:
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-ის მეშვეობით:
- API - სერვისის შექმნა
- API - ხელმისაწვდომი ტარიფების და მათი პარამეტრების შესახებ ინფორმაციის მიღება
- API - ოპერაცია Start & Stop
- API - ოპერაცია Reboot
- API - ოპერაცია Rebuild
- API - ოპერაცია Delete
- API - Image-თან ურთიერთობა
- API - Backup Schedule-თან ურთიერთობა
- API - Rescue-თან ურთიერთობა
- API - Backup-თან ურთიერთობა
- API - Boot From ISO-თან ურთიერთობა