opened image

API - Mijiedarbība ar Rescue

Šajā rakstā ir aprakstīts, kā veikt Rescue operāciju, izmantojot API.

 

Rescue izmantošana

Lai sāktu Rescue procesu instancei, veicam pieprasījumu šādā formātā:

 

URL: 

https://api.zomro.com/

Metode: POST

Pieprasījuma ķermenis (Form-data):

ParametrsVērtības piemērsObligāts parametrsVērtības apraksts
funcinstances.fleio.rescueFunkcija Boot from ISO izmantošanai
auth21fc199...c43f71Sesijas tokens. Tas ir viens no autorizācijas veidiem. Vairāk par citiem veidiem aprakstīts šeit
outjsonAtbildes tips, kuru sagaidīt
sokokOperācijas apstiprinājums
elid5203773Instance ID
select_bootf8f2573f-56c4-44c5-8469-84eee4aa64e7Attēla UUID, kuru plānojam izmantot
passwordMyPassword1Piekļuves parole serverim Rescue režīmā. Ieteicams uzstādīt, lai būtu piekļuve serverim    
zonepubZonas tips, kur atrodas attēls. Pieejamie parametri: «own», «pub».

 

Piemērs Instance pārejai uz Boot From ISO režīmu

Piemēram, izmantojam pakalpojumu:

un ielādējam šādu attēlu:
 

 

URL: 

https://api.zomro.com/

 

Metode: POST

Pieprasījuma ķermenis (Form-data):

ParametrsVērtība
funcinstances.fleio.rescue
auth21fc199...c43f71
outjson
sokok
elid5203773
select_boot_from_isof8f2573f-56c4-44c5-8469-84eee4aa64e7
zonepub
passwordMyPassword1

 

Šeit ir pieprasījuma piemērs, kuru var izpildīt no konsoles:

curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.rescue"' \
--form 'auth="43137b5f35a6ba4ee01f4a4e"' \
--form 'out="json"' \
--form 'elid="5203773"' \
--form 'sok="ok"' \
--form 'select_boot="f8f2573f-56c4-44c5-8469-84eee4aa64e7"' \
--form 'password="MyPassword1"' \
--form 'zone="pub"'

 

Pēc pieprasījuma izpildes redzam, ka instance ir pārgājusi uz «Rescue» režīmu. To apstiprina rezultāts fotoattēlā:

 

 

Tāpat, ja netiek nodots parametrs sok, pieprasījums tiks izpildīts priekšskatījuma režīmā. Izpildot šo pieprasījumu, var iegūt pieejamos attēlus, lai pārietu uz rescue no izvēlētā attēla. Piemēram, izpildīsim šādu pieprasījumu, bet bez nodotā parametra «sok»:

 

curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.rescue"' \
--form 'auth="43137b5f35a6ba4ee01f4a4e"' \
--form 'out="json"' \
--form 'elid="5203773"' 


Saņemam šādu atbildi:

 

{
    "doc": {
        ...
        "slist": [
            {
                "$name": "zone",
                "val": [
                    {
                        "$key": "pub",
                        "$": "pub"
                    },
                    {
                        "$key": "own",
                        "$": "own"
                    }
                ]
            },
            {
                "$name": "select_boot",
                "val": [
                    {
                        "$depend": "pub",
                        "$key": "f8f2573f-56c4-44c5-8469-84eee4aa64e7",
                        "$": "Ubuntu 22.04"
                    },
                    {
                        "$depend": "pub",
                        "$key": "0bf4deb2-855c-4863-8518-6006d804adbb",
                        "$": "Debian 10"
                    },
                    {
                        "$depend": "pub",
                        "$key": "18d0ee2e-4d57-4f40-9b56-03c1773b5831",
                        "$": "AlmaLinux 8"
                    },
                    {
                        "$depend": "pub",
                        "$key": "1d9dda4c-34b0-4304-a90a-8f3018722fa2",
                        "$": "Rocky-Linux-8"
                    },
                    {
                        "$depend": "pub",
                        "$key": "2af0af94-0e6e-4ef3-8837-d41fdbfa3564",
                        "$": "Windows Server 2016"
                    },
                    {
                        "$depend": "pub",
                        "$key": "3010ae60-0185-4021-98da-f50013147ebd",
                        "$": "Debian 11"
                    },
                    {
                        "$depend": "pub",
                        "$key": "479c96f1-ccc6-47a2-952c-c9e3bbdc8d07",
                        "$": "Ubuntu 20.04"
                    },
                    {
                        "$depend": "pub",
                        "$key": "5da4ad83-45f6-4c0e-9a7e-7a7c18b2be6c",
                        "$": "AlmaLinux 9"
                    },
                    {
                        "$depend": "pub",
                        "$key": "7d7911e3-7178-4f36-a308-d841db5fe654",
                        "$": "CentOS Stream 9"
                    },
                    {
                        "$depend": "pub",
                        "$key": "92fabac2-69cc-46ad-8439-c377e0c90632",
                        "$": "Ubuntu 23.04"
                    },
                    {
                        "$depend": "pub",
                        "$key": "93878ba5-6b9e-4924-a4be-34edb623f808",
                        "$": "Debian 12"
                    },
                    {
                        "$depend": "pub",
                        "$key": "a8b7bcb3-6698-4264-b413-f2b866a46a70",
                        "$": "Rocky-Linux-9"
                    },
                    {
                        "$depend": "pub",
                        "$key": "b10434c0-d839-428f-a919-cac733fd6552",
                        "$": "Windows Server 2019"
                    },
                    {
                        "$depend": "pub",
                        "$key": "bda2467e-e192-4e4e-becc-cda2e71b9767",
                        "$": "Windows Server 2022"
                    },
                    {
                        "$depend": "own",
                        "$name": "foo",
                        "$key": "a9e7c223-5f11-4546-a298-6af546bebde6",
                        "$": "Centos 9 x64"
                    },
                ]
            }
        ],
    
    }
}

 

Analizējot šo atbildes struktūru, iegūtie interesējošie dati atrodas šādā ligzdojumā:

 

doc.slist.[]

 

Kā redzam, mums ir pieejami attēli:

UUIDAttēla nosaukumsOS nosaukumsRedzamības zona

f8f2573f-56c4-44c5-8469-84eee4aa64e7

-

Ubuntu 22.04

pub

0bf4deb2-855c-4863-8518-6006d804adbb

-

Debian 10

pub

18d0ee2e-4d57-4f40-9b56-03c1773b5831

-

AlmaLinux 8

pub

1d9dda4c-34b0-4304-a90a-8f3018722fa2

-

Rocky-Linux-8

pub

2af0af94-0e6e-4ef3-8837-d41fdbfa3564

-

Windows Server 2016

pub

3010ae60-0185-4021-98da-f50013147ebd

-

Debian 11

pub

479c96f1-ccc6-47a2-952c-c9e3bbdc8d07

-

Ubuntu 20.04

pub

5da4ad83-45f6-4c0e-9a7e-7a7c18b2be6c

-

AlmaLinux 9

pub

7d7911e3-7178-4f36-a308-d841db5fe654

-

CentOS Stream 9

pub

92fabac2-69cc-46ad-8439-c377e0c90632

-

Ubuntu 23.04

pub

93878ba5-6b9e-4924-a4be-34edb623f808

-

Debian 12

pub

a8b7bcb3-6698-4264-b413-f2b866a46a70

-

Rocky-Linux-9

pub

b10434c0-d839-428f-a919-cac733fd6552

-

Windows Server 2019

pub

bda2467e-e192-4e4e-becc-cda2e71b9767

-

Windows Server 2022

pub
a9e7c223-5f11-4546-a298-6af546bebde6fooCentos 9 x64own

 

Attēls ar piekļuves modifikatoru «pub» ir pieejams visiem lietotājiem. Savukārt «own» - pieejams tikai attēla īpašniekam.
  

Tāpat, lai izietu no «Rescue» režīma, veicam šādu API pieprasījumu šādā formātā:

 

URL: 

https://api.zomro.com/

Metode: POST

Pieprasījuma ķermenis (Form-data):

ParametrsVērtības piemērsObligāts parametrsVērtības apraksts
funcinstances.fleio.unrescueFunkcija, lai izietu no «Rescue» režīma
auth21fc199...c43f71Sesijas tokens. Tas ir viens no autorizācijas veidiem. Vairāk par citiem veidiem aprakstīts šeit
outjsonAtbildes tips, kuru sagaidīt
elid5203773Instance ID

 

Kā atslēgt «Rescue» režīmu

 

Piemēram, atslēgsim «Rescue» režīmu instancei ar ID 5203773.

Mēģināsim izpildīt šādu pieprasījumu konsolē:

curl --location 'https://api.zomro.com/' \
--form 'func="instances.fleio.unrescue"' \
--form 'auth="0b31d69ab7b7b4839dfd6506"' \
--form 'out="json"' \
--form 'elid="5203773"'

Pēc pieprasījuma izpildes redzam, ka pakalpojums ir aktīvs:

​​​​​​​

 

Tāpat piedāvājam izpētīt rakstus, kas var būt noderīgi mijiedarbībai ar Cloud VPS produktiem, izmantojot API: