បង្កើត ពិនិត្យ ថាមពល ប្ដូរទំហំ និងលុបម៉ាស៊ីនបម្រើ VPS របស់អ្នក ។ ម៉ាស៊ីនបម្រើត្រូវបានកំណត់អត្តសញ្ញាណដោយ uuid របស់ពួកគេ ។
ត្រឡប់ម៉ាស៊ីនបម្រើក្នុងគណនីរបស់អ្នក ថ្មីបំផុតដំបូង ២៥ ក្នុងមួយទំព័រ ។ ម៉ាស៊ីនបម្រើដែលត្រូវបានលុបមិនត្រូវបានរួមបញ្ចូល ។
សិទ្ធិដែលត្រូវការ: servers:list
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
page |
integer | គ្មាន | លេខទំព័រ ចាប់ផ្ដើមនៅ ១ |
page_size |
integer | គ្មាន | លទ្ធផលក្នុងមួយទំព័រ (លំនាំដើម ២៥ អតិបរមា ១០០) |
curl -X GET "https://admin.vps.org/api/v1/servers/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers)
for server in response.json()["results"]:
print(server["uuid"], server["hostname"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
const data = await response.json();
console.log(data.results);
$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_API_TOKEN']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
foreach ($data['results'] as $server) {
echo $server['hostname'] . ' ' . $server['status'] . "\n";
}
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
"hostname": "web-01",
"status": "on",
"error_description": null,
"location_name": "New Jersey",
"plan_name": "1 vCPU / 2 GB RAM / 10 GB",
"os_name": "Ubuntu",
"ipv4_addresses": ["203.0.113.10"],
"ipv6_addresses": ["2001:db8:2:dd::f9:6b"],
"created_at": "2026-07-30T03:54:14.914364Z",
"deployed": true
},
{
"uuid": "2d7e9b40-6c1a-4f3e-8b5d-9a0c1e2f3b4d",
"hostname": "db-01",
"status": "queue",
"error_description": null,
"location_name": "New Jersey",
"os_name": "Debian",
"ipv4_addresses": [],
"ipv6_addresses": [],
"created_at": "2026-09-14T19:33:49.426508Z",
"deployed": false
}
]
}
| វាល | ប្រភេទ | សេចក្ដីពិពណ៌នា |
|---|---|---|
uuid |
string | ឧបករណ៍កំណត់អត្តសញ្ញាណម៉ាស៊ីនបម្រើដែលបានប្រើនៅក្នុងចំណុចបញ្ចប់ម៉ាស៊ីនបម្រើផ្សេងទៀតទាំងអស់ |
hostname |
string | ឈ្មោះម៉ាស៊ីនដែលអ្នកបានជ្រើសពេលបង្កើតម៉ាស៊ីនបម្រើ |
status |
string | ស្ថានភាពបច្ចុប្បន្ន ។ មើលតម្លៃស្ថានភាពម៉ាស៊ីនបម្រើខាងក្រោម ។ |
error_description |
string | null | សេចក្ដីលម្អិតនៃការបរាជ័យចុងក្រោយពេលស្ថានភាពគឺកំហុស បើមិនដូច្នោះទេគឺទទេ |
location_name |
string | ឈ្មោះទីតាំងដែលម៉ាស៊ីនបម្រើរត់នៅក្នុង |
os_name |
string | ឈ្មោះប្រព័ន្ធប្រតិបត្តិការ ដោយគ្មានកំណែ |
plan_name |
string | សេចក្តីសង្ខេបផែនការអានបាន ឧទាហរណ៍ 1 vCPU /2GB RAM / 10 GB |
ipv4_addresses |
array | អាសយដ្ឋាន IPv4 ជាខ្សែអក្សរ ។ ទទេ រហូតដល់ម៉ាស៊ីនបម្រើត្រូវបានបញ្ជូន និងលើផែនការដែលគ្មាន IPv4 ។ |
ipv6_addresses |
array | អាសយដ្ឋាន IPv6 ជាខ្សែអក្សរ ។ ទទេ រហូតដល់ម៉ាស៊ីនបម្រើត្រូវបានដាក់ឲ្យប្រើ ។ |
created_at |
datetime | ពេលវេលាបង្កើត (ISO 8601 ពេលវេលាសហគមន៍អន្តរជាតិ) |
deployed |
boolean | ពិតនៅពេលដែលការផ្ដល់បានបញ្ចប់ |
| 200 | បានទាញយកបញ្ជីម៉ាស៊ីនមេដោយជោគជ័យ |
| 403 | បាត់ ឬមិនត្រឹមត្រូវ API token ឬ token ខ្វះសិទ្ធិដែលត្រូវការ |
ដាក់ម៉ាស៊ីនបម្រើថ្មីជាជួរសម្រាប់ការបែងចែក និងត្រឡប់វាភ្លាមៗជាមួយជួរស្ថានភាព ។ ការផ្ដល់បន្តនៅក្នុងផ្ទៃខាងក្រោយ ៖ សំណួរចំណុចបញ្ចប់ស្ថានភាពរហូតដល់ការបែងចែកគឺពិត ។ ពេលម៉ាស៊ីនបម្រើរួចរាល់ សេចក្ដីលម្អិតការចូលរបស់វាត្រូវបានផ្ញើអ៊ីមែលទៅម្ចាស់គណនី ។
គណនីរបស់អ្នកត្រូវការវិធីសាស្រ្តទូទាត់ដែលបានរក្សាទុក។ អាស្រ័យលើប្រវត្តិគណនីរបស់អ្នកការរក្សាទុកមុនការអនុញ្ញាតជាបណ្តោះអាសន្ននៃតម្លៃផែនការមួយសប្តាហ៍ (យ៉ាងហោចណាស់ 1 ដុល្លារអាមេរិក) អាចត្រូវបានដាក់នៅលើកាតរបស់អ្នកមុនពេលម៉ាស៊ីនបម្រើត្រូវបានបង្កើត។
សិទ្ធិដែលត្រូវការ: servers:create
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
hostname |
string | បាទ/ចាស៎ | យ៉ាងហោចណាស់ ៣ តួអក្សរ ។ មានតែអក្សរ លេខ សញ្ញាក្បៀស និងសញ្ញាចុចប៉ុណ្ណោះ ។ |
location_id |
integer | បាទ/ចាស៎ | លេខសម្គាល់នៃទីតាំងសកម្មពីទីតាំង API |
plan_uuid |
string | បាទ/ចាស៎ | uuid របស់ផែនការសកម្មពី API ផែនការ |
operating_system_version_uuid |
string | បាទ/ចាស៎ | uuid របស់ធាតុសកម្មក្នុងបញ្ជីកំណែរបស់ប្រព័ន្ធប្រតិបត្តិការ |
ssh_key_uuids |
array | គ្មាន | UUIDs នៃកូនសោ SSH ពីកូនសោ SSH API ដើម្បីដំឡើងលើម៉ាស៊ីនបម្រើ |
ssh_key_ids |
array | គ្មាន | លេខសម្គាល់ចំនួនគត់របស់កូនសោ SSH ជាជម្រើសសម្រាប់ ssh_ key_ uuids ។ ប្រសិនបើផ្ញើទាំងពីរ ssh_ key_ ids ត្រូវបានប្រើ ។ |
ssh_key_uuid, ssh_key_id |
string, integer | គ្មាន | ផ្លូវកាត់សម្រាប់កូនសោ SSH មួយ |
auth_method |
string | គ្មាន | ពាក្យសម្ងាត់ ssh_ key ឬទាំងពីរ ។ លំនាំដើមទៅពាក្យសម្ងាត់ ឬទាំងពីរពេលគ្រាប់ចុច SSH ត្រូវបានផ្ដល់ ។ |
curl -X POST "https://admin.vps.org/api/v1/servers/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"hostname": "web-01",
"location_id": 1,
"plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
"operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
"ssh_key_uuids": ["YOUR_SSH_KEY_UUID"]
}'
import requests
url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {
"hostname": "web-01",
"location_id": 1,
"plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
"operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
"ssh_key_uuids": ["YOUR_SSH_KEY_UUID"],
}
response = requests.post(url, headers=headers, json=data)
server = response.json()
print(response.status_code, server["uuid"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
hostname: 'web-01',
location_id: 1,
plan_uuid: '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
operating_system_version_uuid: 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
ssh_key_uuids: ['YOUR_SSH_KEY_UUID']
})
});
const server = await response.json();
console.log(server.uuid, server.status);
$data = [
'hostname' => 'web-01',
'location_id' => 1,
'plan_uuid' => '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
'operating_system_version_uuid' => 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
'ssh_key_uuids' => ['YOUR_SSH_KEY_UUID']
];
$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_TOKEN',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server = json_decode(curl_exec($ch), true);
curl_close($ch);
201 បង្កើតជាមួយវត្ថុម៉ាស៊ីនបម្រើពេញលេញដែលបានពិពណ៌នានៅក្រោម យកសេចក្ដីលម្អិតម៉ាស៊ីនបម្រើ ។ អាសយដ្ឋាន និង vmid ត្រូវបានបំពេញក្នុងពេលបញ្ចប់ការដំឡើង ។
{
"uuid": "5f0c8e2a-6b1d-4c3e-9a7f-2d4b6c8e0a1f",
"hostname": "web-01",
"vmid": null,
"status": "queue",
"error_description": null,
"location": {
"id": 1,
"name": "New Jersey",
"country_name": "United States",
"is_active": true
},
"plan": {
"uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
"cpu": 1,
"ram": 2,
"ram_unit": "GB",
"disk_space": 10,
"disk_space_total": 10240,
"transfer": 500,
"price": "3.50",
"cpu_type_name": "Shared",
"is_active": true,
"hourly_price": "0.005",
"monthly_price": "3.50",
"is_gpu": false,
"gpu_count": 0,
"gpu_model": ""
},
"operating_system": {
"id": 1,
"name": "Ubuntu",
"svg_icon": "<svg ...>",
"versions": [ ... ]
},
"operating_system_version": {
"uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
"name": "24.04 LTS x64",
"os_name": "Ubuntu",
"os_svg_icon": "<svg ...>",
"is_active": true
},
"ipv4_addresses": [],
"ipv6_addresses": [],
"deployed": false,
"created_at": "2026-09-14T21:02:11.402113Z",
"recent_actions": []
}
| 201 | ម៉ាស៊ីនបម្រើត្រូវបានបង្កើត និងដាក់ជាជួរសម្រាប់ការចែកចាយ |
| 400 | កំហុសធ្វើឲ្យមានសុពលភាព ឧទាហរណ៍ ទីតាំងអសកម្ម ផែនការ ឬកំណែប្រព័ន្ធប្រតិបត្តិការ |
| 402 | គ្មានវិធីសាស្ត្របង់ប្រាក់នៅលើឯកសារ ថ្លៃសេវាដែលមិនបានបង់ ឬការអនុញ្ញាតមុនកាតត្រូវបានបដិសេធ |
| 403 | បាត់ ឬមិនត្រឹមត្រូវ API token ឬ token ខ្វះសិទ្ធិដែលត្រូវការ |
| 429 | គណនីរបស់អ្នកបានដល់ដែនកំណត់បង្កើតម៉ាស៊ីនបម្រើរបស់វា |
ត្រឡប់ម៉ាស៊ីនបម្រើមួយជាមួយទីតាំងរបស់វា ផែនការ ប្រព័ន្ធប្រតិបត្តិការ អាសយដ្ឋាន IP និងសកម្មភាពថ្មីៗបំផុតចំនួនប្រាំ ។
សិទ្ធិដែលត្រូវការ: servers:list
curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
"hostname": "web-01",
"vmid": 1042,
"status": "on",
"error_description": null,
"location": {
"id": 1,
"name": "New Jersey",
"country_name": "United States",
"is_active": true
},
"plan": {
"uuid": "14186969-fbaf-43e1-9ab2-b1f1aeb66674",
"cpu": 1,
"ram": 2,
"ram_unit": "GB",
"disk_space": 25,
"disk_space_total": 25600,
"transfer": 1,
"price": "5.00",
"cpu_type_name": "Shared",
"is_active": true,
"hourly_price": "0.007",
"monthly_price": "5.00",
"is_gpu": false,
"gpu_count": 0,
"gpu_model": ""
},
"operating_system": {
"id": 1,
"name": "Ubuntu",
"svg_icon": "<svg ...>",
"versions": [ ... ]
},
"operating_system_version": {
"uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
"name": "24.04 LTS x64",
"os_name": "Ubuntu",
"os_svg_icon": "<svg ...>",
"is_active": true
},
"ipv4_addresses": [
{
"ip": "203.0.113.10",
"gateway": "203.0.113.1",
"subnet": "203.0.113.0",
"rdns": "web-01.example.com"
}
],
"ipv6_addresses": [
{
"ip": "2001:db8:2:dd::f9:6b",
"gateway": "2001:db8:2:dd::f9:1",
"subnet": "2001:db8:2:dd::f9:0",
"rdns": "web-01.example.com"
}
],
"deployed": true,
"created_at": "2026-07-30T03:54:14.914364Z",
"recent_actions": [
{
"id": 17028,
"action": "create",
"action_display": "Create",
"description": "Server deployed with VMID 1042",
"user_email": "you@example.com",
"created_at": "2026-07-30T03:54:32.860854Z"
}
]
}
សម្គាល់រូបតំណាង SVG និងបញ្ជីកំណែត្រូវបានកាត់នៅទីនេះ ។
| វាល | ប្រភេទ | សេចក្ដីពិពណ៌នា |
|---|---|---|
vmid |
integer | null | លេខម៉ាស៊ីននិម្មិតដែលបានកំណត់ក្នុងពេលដាក់ឲ្យប្រើ |
location |
object | វត្ថុទីតាំងដែលបានត្រឡប់ដោយទីតាំង API |
plan |
object | វត្ថុផែនការដូចដែលបានត្រឡប់ដោយ API ផែនការ |
operating_system, operating_system_version |
object | ប្រព័ន្ធប្រតិបត្តិការ និងកំណែដែលបានដំឡើង ដូចដែលបានត្រឡប់ដោយប្រព័ន្ធប្រតិបត្តិការ API |
ipv4_addresses, ipv6_addresses |
array | វត្ថុមួយក្នុងមួយអាសយដ្ឋានជាមួយ ip ច្រកចេញចូល បណ្តាញរង និង rdns (ឈ្មោះម៉ាស៊ីន DNS បញ្ច្រាស) |
recent_actions |
array | សកម្មភាពចុងក្រោយបំផុតចំនួនប្រាំ ៖ លេខសម្គាល់ សកម្មភាព action_ display សេចក្ដីពិពណ៌នា user_ email created_ at |
| 200 | បានទាញយកព័ត៌មានលម្អិតអំពីម៉ាស៊ីនមេដោយជោគជ័យ |
| 404 | រកមិនឃើញ ឬវាជារបស់គណនីផ្សេង |
ការហៅស្រាលសម្រាប់ការស្ទង់មតិបន្ទាប់ពីអ្នកបង្កើត ថាមពល ឬប្ដូរទំហំម៉ាស៊ីនបម្រើ ។
curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/status/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"status": "on",
"deployed": true,
"resizing": false
}
| តម្លៃ | សេចក្ដីពិពណ៌នា |
|---|---|
queue |
An action (deploy, power, resize, restore) is queued or in progress |
deploying |
កំពុងត្រូវបានផ្ដល់ ។ ម៉ាស៊ីនបម្រើដែលបានបង្កើតពីបន្ទះបញ្ជាប្រើស្ថានភាពនេះ ម៉ាស៊ីនបម្រើដែលបានបង្កើតតាមរយៈ API ស្ថិតនៅក្នុងជួររហូតដល់ពួកវារួចរាល់ ។ |
on |
កំពុងរត់ |
off |
បានបិទថាមពល |
error |
អំពើចុងក្រោយបានបរាជ័យ ។ មើល error_ description ។ |
suspended_payment |
បានផ្អាកដោយសារតែគណនីដែលមិនបានបង់ |
ជួរសកម្មភាពថាមពល ។ ស្ថានភាពម៉ាស៊ីនបម្រើផ្លាស់ប្ដូរទៅជួររហូតដល់សកម្មភាពបញ្ចប់ ។
សិទ្ធិដែលត្រូវការ: servers:power
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
action |
string | បាទ/ចាស៎ |
start: បើកថាមពលshutdown: ការបិទដែលមានភាពស្រស់ស្អាត បង្ខំឲ្យបិទ បើភ្ញៀវមិនបញ្ឈប់restart: រង្វិលជុំថាមពលរឹង (បញ្ឈប់ បន្ទាប់ចាប់ផ្ដើម)stop: បច្ចុប្បន្នធ្វើវដ្តថាមពលដូចគ្នាដូចការចាប់ផ្ដើមឡើងវិញ ។ ប្រើបិទ ដើម្បីទុកម៉ាស៊ីនបម្រើបិទ ។
|
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/power/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "restart"}'
import requests
server_uuid = "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b"
url = f"https://admin.vps.org/api/v1/servers/{server_uuid}/power/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.post(url, headers=headers, json={"action": "restart"})
print(response.json())
{
"message": "Server restart queued"
}
| 200 | អំពើត្រូវបានដាក់ជាជួរ |
| 400 | បាត់ ឬមិនគាំទ្រសកម្មភាព |
| 402 | ចាប់ផ្ដើមត្រូវបានបដិសេធព្រោះគណនីមានថ្លៃមិនបានបង់ |
| 404 | រកមិនឃើញ ឬវាជារបស់គណនីផ្សេង |
ផ្លាស់ទីម៉ាស៊ីនបម្រើទៅផែនការសកម្មផ្សេងទៀត ។ ផែនការថ្មីមិនអាចមានទំហំថាសតិចជាងបច្ចុប្បន្នទេ ហើយតួសំណើត្រូវតែរួមបញ្ចូលសកម្មភាពដែលបានកំណត់ដើម្បីប្ដូរទំហំ ។ សមត្ថភាព Hypervisor សម្រាប់ផែនការថ្មីត្រូវបានពិនិត្យមុនពេលអ្វីមួយត្រូវបានដាក់ជាជួរ ដូច្នេះសំណើដែលបានបដិសេធទុកម៉ាស៊ីនបម្រើមិនផ្លាស់ប្ដូរ ។
ម៉ាស៊ីនបម្រើត្រូវបានបិទ ខណៈពេលវាត្រូវបានប្ដូរទំហំ និងចាប់ផ្ដើមម្ដងទៀតបន្ទាប់ពីនោះ ។ ប្រសិនបើការប្ដូរទំហំបរាជ័យ ម៉ាស៊ីនបម្រើត្រូវបានដាក់ត្រឡប់ទៅផែនការមុនរបស់វា ហើយចាប់ផ្ដើមម្ដងទៀត ប្រសិនបើវាកំពុងរត់ ។ ការរីកធំរបស់ថាសមិនអាចមិនធ្វើវិញបានទេ ។
សិទ្ធិដែលត្រូវការ: servers:resize
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
action |
string | បាទ/ចាស៎ | ត្រូវតែប្ដូរទំហំ |
new_plan_uuid |
string | បាទ/ចាស៎ | uuid របស់ផែនការដែលត្រូវផ្លាស់ទីទៅ |
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/resize/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "resize", "new_plan_uuid": "5e26a4a6-bd0c-467c-abca-da036c811c3f"}'
{
"message": "Resize queued successfully"
}
ឧទាហរណ៍នៃការបដិសេធប្ដូរទំហំ (409) ៖
{
"error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}
| 200 | អំពើត្រូវបានដាក់ជាជួរ |
| 400 | បាត់សកម្មភាព ឬ new_ plan_ uuid ផែនការមិនត្រឹមត្រូវ ឬអសកម្ម ផែនការដែលមានទំហំថាសតិច ឬផែនការ GPU (ផែនការ GPU មិនអាចប្ដូរទំហំតាមរយៈ API) |
| 404 | រកមិនឃើញ ឬវាជារបស់គណនីផ្សេង |
| 409 | ការផ្លាស់ប្ដូរទំហំ ឬការផ្ទុកកំពុងតែដំណើរការរួចហើយ ឬគ្មានសមត្ថភាព hypervisor គ្រប់គ្រាន់សម្រាប់ផែនការថ្មីទេ |
| 503 | សមត្ថភាពមិនអាចត្រូវបានពិនិត្យមើលនៅពេលនេះទេ ។ ម៉ាស៊ីនបម្រើមិនត្រូវបានផ្លាស់ប្ដូរ សូមព្យាយាមម្ដងទៀតពេលក្រោយ ។ |
បង្កើតពាក្យសម្ងាត់ root ថ្មី ត្រឡប់វាក្នុងការឆ្លើយតប និងដាក់ការផ្លាស់ប្ដូរជាជួរលើម៉ាស៊ីនបម្រើ ។ ពាក្យសម្ងាត់ថ្មីត្រូវបានផ្ញើអ៊ីមែលទៅអ្នក ។ ម៉ាស៊ីនបម្រើត្រូវបានដាក់ឲ្យដំណើរការ ។ គ្មានតួសំណើដែលត្រូវការ ។
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/reset-password/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"message": "Password reset queued. New password will also be emailed to you.",
"password": "generated-password",
"job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}
| 200 | អំពើត្រូវបានដាក់ជាជួរ |
| 400 | ម៉ាស៊ីនបម្រើមិនត្រូវបានដាក់ឲ្យប្រើនៅឡើយទេ |
| 404 | រកមិនឃើញ ឬវាជារបស់គណនីផ្សេង |
GET រាយឈ្មោះម៉ាស៊ីន DNS ត្រឡប់នៃ IPv4 និង IPv6 អាសយដ្ឋានទាំងអស់លើម៉ាស៊ីនបម្រើ ។ POST កំណត់វាសម្រាប់អាសយដ្ឋានមួយ ។ ការផ្ញើឈ្មោះម៉ាស៊ីនទទេកំណត់អាសយដ្ឋានទៅឈ្មោះ DNS ត្រឡប់លំនាំដើមរបស់វា ។
សិទ្ធិដែលត្រូវការ: servers:update
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
ip |
string | បាទ/ចាស៎ | អាសយដ្ឋាន IPv4 ឬ IPv6 ដែលបានផ្ដល់ទៅម៉ាស៊ីនបម្រើនេះ |
hostname |
string | គ្មាន | ឈ្មោះម៉ាស៊ីន PTR ។ ទុកឲ្យទទេ ដើម្បីកំណត់ទៅលំនាំដើមវិញ ។ |
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/rdns/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ip": "203.0.113.10", "hostname": "mail.example.com"}'
{
"message": "Reverse DNS for 203.0.113.10 set to mail.example.com",
"ip": "203.0.113.10",
"hostname": "mail.example.com"
}
ការឆ្លើយតប GET ៖
{
"rdns": [
{"ip": "203.0.113.10", "hostname": "mail.example.com"},
{"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
]
}
| 400 | បាត់ ip ឬមិនអាចកំណត់ឈ្មោះម៉ាស៊ីនបានទេ |
| 404 | អាសយដ្ឋាន IP មិនត្រូវបានផ្ដល់ឲ្យម៉ាស៊ីនបម្រើនេះទេ |
រត់ពាក្យបញ្ជាសែលនៅក្នុងម៉ាស៊ីនបម្រើតាមរយៈភ្ញៀវភ្ញៀវ QEMU និងរង់ចាំវាបញ្ចប់ ។ ម៉ាស៊ីនបម្រើត្រូវបានដាក់ឲ្យដំណើរការ និងរត់ ហើយ qemu- guest- agent ត្រូវបានដំឡើង និងរត់ក្នុងភ្ញៀវ ។
សិទ្ធិដែលត្រូវការ: servers:exec
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
command |
string | បាទ/ចាស៎ | Command line run with /bin/sh -c, up to 2000 characters |
timeout |
integer | គ្មាន | វិនាទីរង់ចាំពាក្យបញ្ជា ១ ទៅ ៣០០ (លំនាំដើម ៣០) |
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/exec/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"command": "uptime", "timeout": 30}'
{
"stdout": " 21:14:03 up 46 days, 2:10, 0 users, load average: 0.08, 0.03, 0.01\n",
"stderr": "",
"exit_code": 0,
"timed_out": false
}
ប្រសិនបើពាក្យបញ្ជានៅតែរត់ពេលអស់ពេល ការឆ្លើយតបបានកំណត់ timed_ out ទៅជា true និង exit_ code កំណត់ទៅជា null ។
| 200 | ពាក្យបញ្ជាបានបញ្ចប់ ឬអស់ពេល |
| 400 | ម៉ាស៊ីនបម្រើមិនបានដាក់ឲ្យដំណើរការ ឬមិនរត់ ឬប៉ារ៉ាម៉ែត្រមិនត្រឹមត្រូវ |
| 409 | ភ្ញៀវភ្ញៀវ QEMU មិនរត់នៅលើម៉ាស៊ីនបម្រើទេ |
| 503 | បញ្ហាតភ្ជាប់បណ្ដោះអាសន្ន ។ ព្យាយាមម្ដងទៀតបន្ទាប់ពីបឋមកថា Retry- After ។ |
ជួរម៉ាស៊ីនបម្រើសម្រាប់លុបជាអចិន្ត្រៃយ៍ ។ ម៉ាស៊ីនបម្រើបាត់ពីបញ្ជីភ្លាមៗ ហើយមិនអាចស្ដារបានឡើយ ។
សិទ្ធិដែលត្រូវការ: servers:delete
curl -X DELETE "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"message": "Server deletion queued"
}
| 202 | បានទទួលយក ៖ សំណើត្រូវបានដាក់ជាជួរ |
| 404 | រកមិនឃើញ ឬវាជារបស់គណនីផ្សេង |
រក្សាទុកកូនសោសាធារណៈ SSH នៅក្នុងគណនីរបស់អ្នក បន្ទាប់មកបញ្ជូន uuids របស់ពួកគេជា ssh_ key_ uuids ពេលអ្នកបង្កើតម៉ាស៊ីនបម្រើ ។ GET រាយកូនសោរបស់អ្នក (25 ក្នុងមួយទំព័រ) POST បន្ថែមមួយ ។
សិទ្ធិដែលត្រូវការ: ssh-keys:list (GET), ssh-keys:create (POST)
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
name |
string | បាទ/ចាស៎ | ឈ្មោះដែលត្រូវស្គាល់កូនសោដោយ រហូតដល់ ១០០ តួអក្សរ |
public_key |
string | បាទ/ចាស៎ | កូនសោសាធារណៈក្នុងទ្រង់ទ្រាយ OpenSSH ឧទាហរណ៍មាតិការបស់ id_ ed25519. pub |
curl -X POST "https://admin.vps.org/api/v1/ssh-keys/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "laptop", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop"}'
import requests
url = "https://admin.vps.org/api/v1/ssh-keys/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
with open("/home/you/.ssh/id_ed25519.pub") as f:
data = {"name": "laptop", "public_key": f.read().strip()}
response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json()["uuid"])
{
"id": 19,
"uuid": "6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c",
"name": "laptop",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop",
"fingerprint": "0b:4c:9b:48:76:e7:1d:07:b9:ac:71:90:70:f7:9a:69",
"created_at": "2026-08-23T19:16:11.547183Z",
"last_used_at": null
}
| វាល | ប្រភេទ | សេចក្ដីពិពណ៌នា |
|---|---|---|
id, uuid |
integer, string | គ្រឿងសម្គាល់កូនសោ ។ ប្រើ uuid ក្នុង ssh_ key_ uuids និងក្នុង URL ខាងក្រោម ។ id ធ្វើការនៅក្នុង ssh_ key_ id ។ |
fingerprint |
string | ស្នាមម្រាមដៃ MD5 របស់កូនសោ ដែលគណនាដោយវេទិកា |
last_used_at |
datetime | null | ពេលគ្រាប់ចុចត្រូវបានដំឡើងចុងក្រោយនៅលើម៉ាស៊ីនបម្រើថ្មី |
| 201 | គ្រាប់ចុចដែលបានបន្ថែម |
| 400 | បាត់ឈ្មោះ ឬសោសាធារណៈមិនមែនជាសោសាធារណៈ SSH ដែលត្រឹមត្រូវទេ |
GET ត្រឡប់កូនសោមួយជាមួយវាលខាងលើ ។ DELETE យកវាចេញពីគណនីរបស់អ្នក ហើយត្រឡប់ 204 ដោយគ្មានរាងកាយ ។ ការលុបកូនសោមិនយកវាចេញពីម៉ាស៊ីនបម្រើដែលវាបានដំឡើងរួចហើយ ។ កូនសោមិនអាចកែសម្រួលបានទេ ៖ លុប និងបន្ថែមម្ដងទៀត ។
សិទ្ធិដែលត្រូវការ: ssh-keys:list (GET), ssh-keys:delete (DELETE)
curl -X DELETE "https://admin.vps.org/api/v1/ssh-keys/6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
ការបង្កើតបម្រុងទុក ឬរូបថតក៏ជាសកម្មភាពម៉ាស៊ីនបម្រើដែរ ៖
POST /api/v1/servers/{uuid}/backup/: API បម្រុងទុកPOST /api/v1/servers/{uuid}/snapshot/: API រូបភាពសង្ខេប