Անցնել պարունակությանը

Invapi API FAQ

Այս հոդվածում

Ակնթարթային սերվերի պատվիրման ալգորիթմ eq/order_instance-ով

  1. Ստեղծեք client API key;

  2. Ընտրեք սերվերի տեղադիրքը՝ NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH (Նիդեռլանդներ, ԱՄՆ, Ֆինլանդիա, Գերմանիա, Իսլանդիա, Թուրքիա, Միացյալ Թագավորություն, Իսպանիա, Իտալիա, Լեհաստան, Շվեյցարիա);

  3. Օգտագործեք [presets/list](../apidocs/presets.md] հարցումը՝ տեղակայման համար նախատեսված preset ID-ն որոշելու համար:

    Այս ID-ն հետագայում կօգտագործվի որպես instance_id կամ preset: Օրինակ, եթե "id": 108, արժեքները կլինեն instance_id=108 և preset=108;

  4. Օգտագործեք [os/list](../apidocs/os.md] հարցումը՝ ձեր տեղադրվող օպերացիոն համակարգի os_id-ն կամ os_name-ը որոշելու համար՝ օգտագործելով 3-րդ քայլում ստացված instance ID-ն կամ դրա փոխարինողը (alias): Օրինակ, Ubuntu 22.04-ի համար այս արժեքը պատասխանում կվերադարձվի որպես "id": 187 և "alias": ubuntu: Դուք կարող եք նաև գտնել OS ID-ները և տեղեկություն՝ թե որ սերվերի տեսակների համար են դրանք հասանելի նշված սպասարկվող OS-ների ցանկում;

    Նշում

    Եթե չեք ցանկանում օպերացիոն համակարգ տեղադրել տեղակայման ընթացքում, հետագայում նշեք own_os=1:

  5. Օգտագործեք [software/list](../apidocs/software.md] հարցումը՝ այս instance-ի համար հասանելի ծրագրային ապահովումը նույնականացնելու և դրա ID-ն (soft_id պարամետր) ստանալու համար: Օրինակ, WordPress CMS-ի դեպքում հարցման արդյունքում արժեքը կլինի "id": 20: Դուք կարող եք գտնել տեղադրվող ծրագրային ապահովման ցանկը և դրա տեղադրման պարամետրերը (ID, սերվերի տեսակ, պահանջվող RAM և սկավառակի տարածք, CPU միջուկների քանակ և այլն) աջակցվող ծրագրային ապահովման ցանկում;

    Նշում

    Դուք կարող եք բաց թողնել ծրագրային ապահովման նախնական տեղադրումը տեղակայման ընթացքում, եթե ցանկանում եք դա անել ձեռքով հետագայում:

  6. Օգտագործեք [traffic_plans/list](../apidocs/traffic_plans.md] հարցումը՝ ձեր սերվերի համար ցանցային տրաֆիկի պլանի ID-ն ստանալու համար: Օրինակ, 3Tb traffic (1Gbps) VM պլանի դեպքում կանչը կվերադարձնի "id": 25;

  7. Ստացեք $HOSTKEY_TOKEN սեսիայի թոքենը auth/login հարցման միջոցով;

  8. Պատվիրեք սերվերը՝ ներդրելով 2-7 քայլերում ստացված տվյալները [eq/order_instance](../apidocs/eq.md] հարցման մեջ: Դուք պետք է նշեք ձեր root գաղտնաբառը, սերվերի հաշվարկային ժամանակահատվածը՝ deploy_period (ամսական, եռամսյակային, 6 ամսական կամ տարեկան), և արդոք ցանկանում եք ստանալ էլեկտրոնային փոստի ծանուցում տեղակայման ժամանակ՝ deploy_notify-ի միջոցով (մենք խորհուրդ ենք տալիս սա սահմանել որպես true լռելակարգով):

Լրացուցիչ պարամետրերը կարող են նշվել որպես հավելյալ, ինչպես նկատի է eq/order_instance կանչը:

Ստորև ներկայացված է WordPress (id=20) և Debian 11 (id=108) օգտագործմայց սերվերի պատվիրման օրինակը:

POST հարցման օրինակ՝ Ակնթարթային սերվերի պատվիրում, cURL

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=eeee51003b1d81d2eca65660735c0531" \
--data "deploy_period=monthly" \
--data "deploy_notify=true" \
--data "preset=108" \
--data "location_name=NL" \
--data "os_id=180" \
--data "soft_id=20" \
--data "traffic_plan=25" \
--data "root_pass=mdLus8Ng" \
Դրական պատասխանի օրինակ
{
    "result": "OK",
    "action": "order_instance",
    "invoice": 50062,
    "status": "Paid"
}

Invapi-ն կընտրի/կստեղծի համապատասխան սերվերը նշված տեղակայում և կկանցուցի տեղակայումը: Նախքան որևէ տեղադրում, կկատարվի ստուգում՝ թե արդյոք վարկային հաշվեկշռում են բավարար միջոցներ (եթե automatic payments from credit balance միացված է), կամ կհայտարարի հաշիվ (invoice): Եթե տեղակայումը հաջող է, նոր սերվերը կկապվի հաճախորդի հաշվին: Հաճախորդը կստանա էլեկտրոնային փոստով ծանուցում՝ հարցման դեպքում: Բոլոր վճարված լիցենզիաները կավելացվեն որպես պատվերի հավելումներ:

Նշում

Եթե առկա է անհամատեղելիություն ընտրված օպերացիոն համակարգի և տեղադրվող ծրագրային ապահովման միջև, դուք կստանաք հետևյալ պես հաղորդագրություն.

{
"result": -1,
"error": "reinstall: extra software Odoo (#49) is not compatible with Ubuntu 22.04"
}

Դուք պետք է ընտրեք այլ օպերացիոն համակարգ (նշեք այլ os_id պարամետր):

Զգուշացում

Դուք կարող եք սկսել օգտագதுցել սերվերը, երբ ստանաք էլեկտրոնային փոստի ծանուցում, որ տեղակայման (deployment) ավարտվել է, կամ երբ Active կարգավիճակի և My Servers բաժնում հայտնվի Invapi վահանակում: Եթե սերվերի տեղակայման ընթացքում ձախողում տեղի ունենա, էլեկտրոնային փոստին կուղարկվի ծանուցում: Տեղակայումը կարող է տևել 20 րոպե կամ ավելի:

Դուք կարող եք վերահսկել տեղադրման ընթացքն ու դրա կարգավիճակը asynchronous actions միջոցով:

Տեղադրումը հաջողությամբ կավարտվի, երբ ստանաք հետևյալ պես ասինխրոն գործողության հաղորդագրություն.

Դրական պատասխանի օրինակ
{
"result": "OK",
"scope": "{"result":"deploy_done"}",
"context": {
    "action": "deploy_vm",
    "id": "32645",
    "location": "NL",
    "ip": "176.222.34.23",
    "ip_ipmi": "0.0.0.0"
},
"debug": "0",
"key": "9889fcb51255146e04224205c04976e8"
}

Սերվերի վերատեղադրումը (Reinstall) eq/order_instance-ի միջոցով

Սերվերի վերատեղադրումը կատարվում է նման, ինչպես պատվիրելիս. այն տարբերվում է միայն eq/order_instance հարցման մեջ լրացուցիչ id պարամետր փոխանցելով՝ վերատեղրվող սերվերի ID-ն (Invapi-ից), և preset պարամետրը չօգտագործելով: Վերատեղրման ժամանակ դուք կարող եք ընտրել այլ օպերացիոն համակարգ և նախնական տեղադրված ծրագրային ապահովում, կամ իրականացնել «մաքուր» վերատեղրում՝ սահմանելով own_os=1 պարամետրը (այդ դեպքում պետք է սահմանեք os_id = 0):

Զգուշացում

location_name պարամետրը պարտադիր է նույնիսկ վերատեղրման ժամանակ: Դուք պետք է նշեք սերվերի ընթացիկ տեղադիրքը (օրինակ՝ NL կամ US), հակառակ դեպքում API-ն կարող է վերադարձնել OS համատեղելիության սխալ:

POST հարցում վերատեղրման համար, cURL

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=$HOSTKEY_TOKEN" \
--data "hostname={Hostname}" \
--data "os_id={OS ID}" \
--data "soft_id={Software ID}" \
--data "root_pass={root password}" \
--data "ssh_key={public SSH key}" \
--data "post_install_script=" \
--data "own_os=" \
--data "root_size=100" \
--data "location_name={Server location with specified ID}" \
--data "id={Invapi Server ID}" // ID-ի առկայությունը նշանակում է սերվերի վերատեղրման գործընթաց:

Զգուշացում

Եթե վերատեղրման հարցման ժամանակ ստանաք հաղորդագրություն, որ այդ ID-ով սերվեր չի գտնվել, թարմացրեք ձեր սեսիայի թոքենին կապված սերվերների ցանկը՝ կանձելով eq/update_servers:

Նշում

Եթե առկա է անհամատեղելիություն ընտրված օպերացիոն համակարգի և տեղադրվող ծրագրային ապահովման միջև, դուք կստանաք հետևյալ պես հաղորդագրություն.

{
"result": -1,
"error": "reinstall: extra software Odoo (#49) is not compatible with Ubuntu 22.04"
}

Դուք պետք է ընտրեք այլ օպերացիոն համակարգ (նշեք այլ os_id պարամետր):

Զգուշացում

Դուք չեք կարող սկսել նոր վերատեղադրում, եթե նախորդ գործընթացը դեռևս չի ավարտվել: Հակառակ դեպքում կստանաք զգուշացում.

{"result":-1,"error":"another reinstall in progress for XXXXX, please wait"}

Օրինակ, ենթադրենք մենք ուզում ենք վերատեղրել նախորդ օրինակի սերվերը Rocky Linux 9 (id=205) և Grafana (id=18) տարբերակով: Հարցումը կլինի հետևյալն.

POST հարցման օրինակ վերատեղրման համար, cURL

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=5e731472b19f25c7fe61c9eb5c2ea4e3" \
--data "deploy_notify=true" \
--data "os_id=205" \
--data "soft_id=18" \
--data "root_pass=mnN48Dl@4" \
--data "location_name=NL" \
--data "id=32645"
Դրական պատասխանի օրինակ վերատեղրման համար
{
    "result": "OK",
    "action": "order_instance",
    "callback": "e2fbe5f43796d4139983b695271da9aa", // callback դաշտը (asynchronous key)
    "deploy_status": "reinstall",
    "id": 32645,
    "os_name": "RockyLinux 9",
    "soft_name": "Grafana"
}

Զգուշացում

Այս մեթոդով վերատեղրելիս հաջող ավարտի դեպքում էլեկտրոնային փոստով ծանուցում չի ուղարկվում: Դուք պետք է հիշեք և պահպանեք նոր root գաղտնաբառը (կամ օգտագործեք սերվերի առկա գաղտնաբառը), իսկ տեղադրված ծրագրային ապահովման մուտքի տվյալները կարող եք գտնել Marketplace փաստաթղթերում կամ անմիջապես սերվերի քարտում՝ Invapi վահանակում:

Օգտագործելով այս ասինխրոն բանալին ( callback դաշտը), մենք կարող ենք հետևել վերատեղրման գործընթացին asynchronous actions միջոցով:

Պատասխանի օրինակ հաջող վերատեղրման համար
{
    "result": "OK",
    "scope": "{"result":"deploy_done"}",
    "context": {
        "action": "reinstall_vm",
        "id": "32645",
        "location": "NL",
        "ip": "176.222.34.23",
        "ip_ipmi": "0.0.0.0",
        "reinstall": 1
    },
    "debug": "",
    "key": "a129bad13781bdf5790746064aba0af6"
}
question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×