opened image

API - Snapshots-пен өзара әрекеттесу

Бұл құжатта Zomro қызметінің API көмегімен instance үшін snapshots құру, қарау және жою процесі сипатталған. Берілген сұраулар мысалдары сізге snapshots басқару үшін қажетті негізгі операцияларды тез түсінуге көмектеседі.

 

Snapshots құру

Snapshots құру үшін келесі сұрауды орындаңыз:

 

URL: 

https://api.zomro.com/

Әдіс: POST

Сұрау денесі (Form-data):

ПараметрМән мысалыМіндетті параметрМән сипаттамасы
funcinstances.snapshots.editИәsnapshots құру функциясы
auth21fc199...c43f71ЖоқСессия токені. Бұл авторизацияның бір нұсқасы. Қандай басқа нұсқалар бар екенін мұнда сипатталған
outjsonИәКүтілетін жауап түрі
sokokИәОперацияны растау
plid5203773Иәsnapshot құру үшін instance ID
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Иәsnapshots алуды жоспарлаған instance ID

 

Мысал үшін, 5203773 қызметі үшін snapshots алуға тырысамыз. Алдыңғы қадамда, 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

fleio жүйесіндегі бірегей UUID

fleio_status

snapshot статусы. Active мәні snapshot құрылғанын білдіреді

hypervisor_type

Виртуалды машина үшін гипервизор түрі

id

bill manager шегіндегі snapshot ID

image_size

snapshot нақты өлшемі. snapshot құру аяқталғаннан кейін анықталады

item_real_status

billmanager шегіндегі қызмет статусы

min_disk

Бұл snapshot қалпына келтіру үшін серверде қажет минималды диск өлшемі

min_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Иәsnapshot жоюды жоспарлаған instance ID
elname

5204214

Иәжою қажет snapshot ID
plid

5204214

Иәжою қажет snapshot ID
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 сәтті жойылды.

 

Сондай-ақ, API көмегімен Cloud VPS өнімдерімен өзара әрекеттесу үшін пайдалы болуы мүмкін мақалаларды оқуды ұсынамыз: