compute

POST /v1/compute/servers/{serverId}/rebuild

Reinstall a server's operating system.

ចំណុចបញ្ចប់ compute ទាំងអស់

ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ

បញ្ជូនសោ API ជា bearer token។ សោនេះត្រូវតែមានសិទ្ធិ sites.view។ សោដែលគ្មានសិទ្ធិនេះនឹងត្រូវបដិសេធដោយកូដ 403 មិនមែន 404 ទេ។

ចំនុចបញ្ចប់នេះមិនត្រូវការលេខសម្គាល់ស្ថាប័នទេ។ ពស័្ដកូនរបស់អ្នករួចហើយកំណត់អត្តសញ្ញាណស្ថាប័នដែលវាជាកម្មសិទ្ធិ ហើយការឆ្លើយតបគឺត្រូវបានកំណត់វិសាលភាពទៅតាមនោះ។

សាកល្បង

ជំនួសអ្វីមួយនៅក្នុងសញ្ញាពងក្រពើ < > ដោយប្រើតម្លៃផ្ទាល់ខ្លួនរបស់អ្នក ហើយជំនួសកន្លែងរក្សាទុកសោដោយប្រើសោចេញពីផ្ទាំងគ្រប់គ្រងរបស់អ្នក។

curl -X POST https://api.zinndigital.com/v1/compute/servers/{serverId}/rebuild \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "operating_system": <string>, "confirm": <string> }'

បានចូលគណនីរួចហើយមែនទេ? កុងសូល API ក្នុងផ្ទាំងគ្រប់គ្រងរបស់អ្នក បំពេញលេខសម្គាល់ស្ថាប័នពិតប្រាកដរបស់អ្នក និងសោផ្ទាល់ខ្លួនរបស់អ្នក ហើយដំណើរការសំណើទល់នឹង API ផ្ទាល់ ដូច្នេះអ្នកអាចមើលឃើញការឆ្លើយតបពិតប្រាកដ។ បើកចំណុចបញ្ចប់នេះក្នុងកុងសូល API

ព័ត៌មានលម្អិត

⛔⛔ **Destructive: everything on the disk is erased and cannot be recovered.** The machine comes back on a fresh image, so the answer carries `power_state: rebooting` and a client polls from there. Three guards, and none of them is optional. The caller needs `sites.delete` rather than the key that merely spends money — `dev` may commit the organisation to a billable resource without being trusted to destroy data, so this is deliberately **not** the key `resizeComputeServer` uses. The typed confirmation is re-checked **server-side**, because a dialog a client owns is a dialog an API caller skips: `confirm` must equal the server's `name` exactly, compared case-sensitively after surrounding whitespace, and anything else is `422`. And the action is audit-logged **before** the provider is called and left in place whatever happens, because an audit row written only on success leaves no trace of an attempted wipe that errored halfway — precisely the event an investigation is looking for. ⛔ **`503` is the expected answer today, and it is honest.** No adapter currently advertises rebuild: a usable one needs the provider's own operating-system list, and an OS token we guessed would wipe a customer's machine and reinstall the wrong thing. It is a `503` rather than a `422` because it is **our** gap, and a customer told "invalid input" for a control nobody wired would retype the same thing for ever. `404` for a server that is not the caller's; `422` for an empty `operating_system` or a machine that is not `active`. Requires `sites.view` **and** `sites.delete`.

ប៉ារ៉ាម៉ែត្រ

ឈ្មោះប្រភេទតម្រូវការតើវាជាអ្វី
serverId (path)Uuidបាទ/ចាសThe server's id, as `listComputeServers` reports it. **Ours** (UUIDv7), minted when the order row was written — never the provider's own identifier for the machine.

សំណើរបស់រាងកាយ

ឈ្មោះប្រភេទតម្រូវការតើវាជាអ្វី
operating_systemstringបាទ/ចាសWhich image to install, as the provider names it. ⛔ Never a string a screen or a customer composed — an OS token we guessed would wipe the machine and reinstall the wrong thing,…
confirmstringបាទ/ចាសThe server's `name`, typed by the customer. Compared **case-sensitively** after surrounding whitespace and nothing else, so a client that forgave more would enable the button on…

ផ្អាកដំណើរការ

ឈ្មោះប្រភេទតម្រូវការតើវាជាអ្វី
idUuidបាទ/ចាស**Ours**, and also the provisioning workflow's id and the machine's name at the provider — which is what makes the whole purchase path idempotent.
namestringបាទ/ចាសWhat the customer called it. ⛔ At the provider a machine's name is its row id; confusing the two is a cross-tenant defect, so this is the customer's string and nothing else.
deploy_targetstringបាទ/ចាសWhich compute range the machine belongs to.
plan_codestringបាទ/ចាសThe tier it was bought on, or `""` when it was ordered by size alone.
providerstringបាទ/ចាសOur provider id.
specstringបាទ/ចាសThe machine size it currently runs.
zonestringបាទ/ចាសThe data centre it runs in.
statusstring<pending, provisioning, active, failed, suspended, terminated>បាទ/ចាសHow far the order got — **ours**, and a different fact from `power_state`. `pending` is a row with nothing bought and nothing charged; `failed` is the state whose `message` is t…
messagestringបាទ/ចាសWhy the order failed, in a sentence the customer reads. Blank unless `failed`.
vendor_statusstringបាទ/ចាសThe provider's own word, verbatim and unrounded. Staff-facing detail; a customer client renders `status` and never this.
power_statestring<unknown, on, off, starting, stopping, rebooting>បាទ/ចាសWhat the machine is doing right now. ⛔ **Six values, not two, and the four extra ones are the point: a machine mid-transition is not "on".** `unknown` is the honest answer when…
addressesstring[]បាទ/ចាសPublic addresses **if the provider states them**. Empty means *not stated*, never "none" — a machine rendered as having no address reads as broken.
optimisationstringបាទ/ចាសThe stack optimisation profile it was built with, or `""` for none.
term_monthsintegerបាទ/ចាសThe term it was bought on, or null when the provider states none.
renews_atstringបាទ/ចាស⛔ **Always null today, and honestly so**: the provider publishes no renewal date, and one computed from the order plus the term would be our arithmetic rendered as the provider'…
created_atstringបាទ/ចាសWhen the row was created, or `""` when not stated.
operablebooleanបាទ/ចាសWhether the customer may act on this machine — power, resize, renew, rebuild. ⛔ Read rather than re-derived from `status`: the engine refuses every one of those on anything but…
imagestringបាទ/ចាសThe provider image the machine was built from. Blank on the resold range, which installs one managed image and offers no choice.
suspendedbooleanបាទ/ចាស⛔⛔ **Whether WE stopped it, which is not the same fact as `power_state`.** A stopped machine is the customer's own choice and they may start it again; a suspended one is ours an…
suspension_reasonstringបាទ/ចាសWhy, verbatim, so the customer reads the same sentence support wrote. Blank when the machine is in good standing.
capabilitiesstring[]បាទ/ចាស⭐⭐ **What this machine's provider can actually do** — capability tokens such as `compute:snapshots`, `compute:console`, `compute:firewall`, `compute:backups_manage` and `compute…

កំហុសដែលចំណុចបញ្ចប់នេះអាចបង្វិលត្រឡប់មកវិញ

401 · 403 · 404 · 422 · 429 · 503