შესვლა
    opened image

    ამ დოკუმენტში აღწერილია 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-ის მეშვეობით: