opened image

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

Image-ის შექმნა

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

 

URL: 

https://api.zomro.com/

მეთოდი: POST

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

პარამეტრიმნიშვნელობის მაგალითისავალდებულო პარამეტრიმნიშვნელობის აღწერა
funcv2.image.order.paramდიახფუნქცია, სარეზერვო ასლის შექმნის განრიგის შესაქმნელად
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ
outjsonდიახმოსალოდნელი პასუხის ტიპი
sokokდიახოპერაციის დადასტურება
image_typeimageდიახშექმნილი ელემენტის ტიპი. ხელმისაწვდომი მნიშვნელობა - image
skipbasketonდიახრეკომენდირებულია მიუთითოთ «on», რადგან «off» შემთხვევაში, image არ შეიქმნება  
image_nameMyImageდიახსურათის სახელი
regionNetherlands-2დიახმონაცემთა ცენტრი, სადაც შეინახება image
min_disk1დიახდისკის მინიმალური ზომა GB-ში, რომელიც უნდა იყოს instance-ში, რომ image-ის გამოყენება შესაძლებელი იყოს
min_ram1დიახRAM-ის მინიმალური ზომა GB-ში, რომელიც უნდა იყოს instance-ში, რომ image-ის გამოყენება შესაძლებელი იყოს
disk_formatisoდიახშექმნილი სურათის ტიპი. ხელმისაწვდომი პარამეტრები: "iso", "ami", "ari", "aki", "vhd", "vmdk", "raw", "qcow2", "vdi". 
os_distroubuntuდიახOS-ის სახელი, რომლის სურათი იქმნება
os_version22არაOS-ის ვერსია
architecturex86_64დიახOS-ის არქიტექტურა. ხელმისაწვდომი პარამეტრები: "x86_64", "i686", "ia64"
urlhttps://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.isoდიახსურათის პირდაპირი ბმული
protectedonდიახსურათის წაშლის ნებართვა. ხელმისაწვდომი პარამეტრები: "on", "off"
pricelist6854დიახმომსახურების ID, რომელიც შეესაბამება image-ს
order_period-50დიახშეკვეთის პერიოდი. მომსახურების ტიპისთვის image, გამოიყენება მხოლოდ დღიური გადახდა

 

Image-ის შექმნის მაგალითი

მაგალითისთვის, შევქმნათ Image Ubuntu 24.04-დან https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso:

 

URL: 

https://api.zomro.com/

 

მეთოდი: POST

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

პარამეტრიმნიშვნელობა
funcv2.image.order.param
auth21fc199...c43f71
outjson
sokok
image_typeimage
skipbasketon
image_nameUbuntu24
regionNetherlands-2
min_disk1
min_ram1
disk_formatiso
os_distroubuntu
os_version24
architecturex86_64
urlhttps://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso
protectedon
pricelist6854
order_period-50

 

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

 

curl --location 'https://api.zomro.com/' \
--form 'func="v2.image.order.param"' \
--form 'auth="0f6744198ec41bb23fe1c923"' \
--form 'out="json"' \
--form 'sok="ok"' \
--form 'image_type="image"' \
--form 'skipbasket="on"' \
--form 'image_name="Ubuntu24"' \
--form 'region="Netherlands-2"' \
--form 'min_disk="1"' \
--form 'min_ram="1"' \
--form 'disk_format="iso"' \
--form 'os_distro="ubuntu"' \
--form 'os_version="22"' \
--form 'architecture="x86_64"' \
--form 'url="https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso"' \
--form 'protected="on"' \
--form 'pricelist="6854"' \
--form 'order_period="-50"'

 

მოთხოვნის შესრულების შემდეგ, ვხედავთ, რომ image-ის შექმნა დაიწყო. მიმდინარე სტატუსი «Saving»:

 

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

 

 API-ის გამოყენებით ყველა image-ის სიის მიღება

 

 

ამისთვის შეასრულეთ შემდეგი ფორმატის მოთხოვნა:

 URL: 

https://api.zomro.com/

მეთოდი: POST

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

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

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

curl --location 'https://api.zomro.com/' \
--form 'func="image"' \
--form 'auth="1176dc887b147a3eb1da748e"' \
--form 'out="json"'

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

{
    "doc": {
        ...
        "elem": [
                        {
                "abusesuspend": {
                    "$": "off"
                },
                "architecture": {
                    "$": "x86_64"
                },
                "archived": {
                    "$": "off"
                },
                "autosuspend": {
                    "$": "off"
                },
                "billdaily": {
                    "$": "on"
                },
                "billhourly": {
                    "$": "off"
                },
                "change_pl": {
                    "$": "0"
                },
                "change_pricelist": {
                    "$": "off"
                },
                "changepolicy": {
                    "$": "2"
                },
                "cost": {
                    "$": "0.00 EUR / Day"
                },
                "costperiod": {
                    "$": "-50"
                },
                "createdate": [
                    {
                        "$": "2024-07-24"
                    },
                    {
                        "$": "2024-07-24"
                    }
                ],
                "currency_id": {
                    "$": "153"
                },
                "currency_str": {
                    "$": "EUR"
                },
                "description": {},
                "disk_format": {
                    "$": "iso"
                },
                "employeesuspend": {
                    "$": "off"
                },
                "expiredate": {
                    "$": "Daily charges"
                },
                "fleio_id": {
                    "$": "802c0ad6-c918-4769-8111-0a165a076ca4"
                },
                "fleio_status": {
                    "$": "Active"
                },
                "has_ip_pricelist": {
                    "$": "off"
                },
                "hypervisor_type": {
                    "$": "Any hypervisor"
                },
                "i_expiretime": {
                    "$": "14:44:24"
                },
                "i_opentime": {
                    "$": "15:45:12"
                },
                "id": {
                    "$": "5206258"
                },
                "image_name": {
                    "$": "Ubuntu24"
                },
                "image_size": {
                    "$": "3"
                },
                "image_type": {
                    "$": "Image"
                },
                "intname": [
                    {
                        "$": "image"
                    },
                    {
                        "$": "image"
                    }
                ],
                "it_accurate_billing": {
                    "$": "no"
                },
                "item_cost": {
                    "$": "0.0000"
                },
                "item_real_status": {
                    "$": "2"
                },
                "item_status": {
                    "$color": "green",
                    "$orig": "2",
                    "$": "Active"
                },
                "itemtype": {
                    "$": "27163"
                },
                "min_disk": {
                    "$": "1"
                },
                "min_ram": {
                    "$": "1"
                },
                "module_failed": {
                    "$": "off"
                },
                "module_upload_doc": {
                    "$": "off"
                },
                "name": {
                    "$": "Image #5206258"
                },
                "no_instruction": {
                    "$": "on"
                },
                "order_disabled": {
                    "$": "off"
                },
                "os_distro": {
                    "$": "Ubuntu"
                },
                "os_version": {
                    "$": "22"
                },
                "period": {
                    "$": "-50"
                },
                "pmmodule": {
                    "$": "pmimagemodule"
                },
                "price_on_request": {
                    "$": "off"
                },
                "pricelist": {
                    "$": "Image"
                },
                "pricelist_id": {
                    "$": "6854"
                },
                "processingmodule_failed": {
                    "$": "off"
                },
                "processingnode": {},
                "protected": {
                    "$orig": "on",
                    "$": "Enable"
                },
                "real_expiredate": {
                    "$": "2024-07-25"
                },
                "region": {
                    "$": "Netherlands-2"
                },
                "scheduledclose": {
                    "$": "off"
                },
                "show_changepassword": {
                    "$": "off"
                },
                "show_domain_validation_button": {
                    "$": "off"
                },
                "show_hardreboot": {
                    "$": "off"
                },
                "show_movetovdc": {
                    "$": "off"
                },
                "show_reboot": {
                    "$": "on"
                },
                "show_supportpassword": {
                    "$": "off"
                },
                "show_vdc_loadbalancer": {
                    "$": "off"
                },
                "show_vdc_network": {
                    "$": "off"
                },
                "show_vdc_router": {
                    "$": "off"
                },
                "show_vdc_vm": {
                    "$": "off"
                },
                "show_vdc_volume": {
                    "$": "off"
                },
                "show_webconsole": {
                    "$": "off"
                },
                "specialstatus": {
                    "$": "0"
                },
                "stat_enabled": {
                    "$": "on"
                },
                "status": {
                    "$": "2"
                },
                "subaccount": {
                    "$": "351336"
                },
                "sync_feature": {
                    "$": "off"
                },
                "transition": {
                    "$": "off"
                },
                "visibility": {
                    "$": "Private"
                }
            },
        ],
    }
}

 

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

doc.elem.[]

 

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

 URL: 

https://api.zomro.com/

მეთოდი: POST

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

პარამეტრიმნიშვნელობის მაგალითისავალდებულო პარამეტრიმნიშვნელობის აღწერა
funcimage.editდიახფუნქცია სურათის რედაქტირებისთვის
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ
outjsonდიახმოსალოდნელი პასუხის ტიპი
elid5206258დიახimage-ის ID. ეს მნიშვნელობა შეიძლება მიღებულ იქნას ყველა image-ის მოთხოვნის პასუხში
image_nameUbuntu24_newარაImage-ის სახელი
min_disk2არაinstance-ის დისკის მინიმალური ზომა, რომელიც საჭიროა ამ სურათის გამოსაყენებლად
min_ram3არაinstance-ის მეხსიერების მინიმალური ზომა, რომელიც საჭიროა ამ სურათის გამოსაყენებლად
os_distroaltlinuxარაOS-ის სახელი
os_version8არაOS-ის ვერსია
architecturex86_64არაimage-ის არქიტექტურა
protectedoffარაimage-ის წაშლის ნებართვა

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

curl --location 'https://api.zomro.com/' \
--form 'func="image.edit"' \
--form 'auth="00bef0b977845f71a1583a2c"' \
--form 'out="json"' \
--form 'sok="ok"' \
--form 'elid="5206258"' \
--form 'image_name="Ubuntu24_new"' \
--form 'min_disk="2"' \
--form 'min_ram="3"' \
--form 'os_distro="altlinux"' \
--form 'os_version="8"' \
--form 'architecture="x86_64"' \
--form 'protected="on"'

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

 

image-ის წაშლა

 

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

 

მეთოდი: POST

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

პარამეტრიმნიშვნელობის მაგალითისავალდებულო პარამეტრიმნიშვნელობის აღწერა
funcimage.deleteდიახფუნქცია სურათის წასაშლელად
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. სხვა ვარიანტების შესახებ დაწვრილებით აღწერილია აქ
outjsonდიახმოსალოდნელი პასუხის ტიპი
elid5206258დიახimage-ის ID. ეს მნიშვნელობა შეიძლება მიღებულ იქნას ყველა image-ის მოთხოვნის პასუხში

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

curl --location 'https://api.zomro.com/' \
--form 'func="image.delete"' \
--form 'auth="9f467da30d0bd6c56fed1b58"' \
--form 'out="json"' \
--form 'elid="5206258"'

ასევე უნდა აღინიშნოს, რომ image-ის წაშლისთვის სტატუსი «protected» უნდა იყოს «off».

მოთხოვნის შესრულების შემდეგ, ვხედავთ image-ის წარმატებულ წაშლას.

 

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