Reinstall a virtual server

Install one vServer anew with an operating system - all data and all snapshots are deleted.

DDestructiveNot idempotentbetaNeeds service_vserver
Tool
manitu_vserver_reinstallon https://mcp.manitu.de/mcp
POST
/v1/vserver/reinstallon https://api.manitu.de
Try it
Removes something for good. Agents name what will be lost and wait for an explicit yes; a program should ask the same.
readOnlyHint falsedestructiveHint trueidempotentHint falseopenWorldHint false

Reinstalls a virtual server (vServer), by its vserver_id from manitu_vserver_list, with an operating system from runtime.os_image_list of manitu_vserver_product_get. EVERYTHING ON THE SERVER IS DELETED AND CANNOT BE RESTORED - all data, and ALL SNAPSHOTS as well (a snapshot taken before does not survive it; a backup has to be kept elsewhere). The server is stopped at once, hard; the installation takes a few minutes, up to 10-15 for larger systems (system updates are included). IP addresses and hostname stay. Give root_ssh_key_list - the customer's public key(s), the way to prefer - or root_password_hash (SHA-512 crypt, "openssl passwd -6"). NEVER ask for or pass a plaintext password: root_password is refused over this connection - for a password, the customer uses the customer panel. The new system has a new SSH host key: the client warns about a changed key - expected. Needs the customer's consent: the first call is refused with a conflict consent_required carrying consent_list (that all data and all snapshots are lost) and a consent_token. Name the server and the operating system, show the customer every item word for word, in its language (the binding wording), and wait for an explicit yes; only then make the same call again with consent_token (valid 15 minutes, once, for this server and this operating system). Never agree on the customer's behalf. Runs in the background: the answer is the workflow started (see pending_workflow_list of manitu_vserver_get for its progress). Refused with a conflict while another workflow runs on the vServer (blocked_by names it - wait for it, do not retry at once), while it is being installed, or while it cannot be changed.

Provide at least one of: root_ssh_key_list, root_password, root_password_hash.

vserver_idinteger | stringrequired

The vserver_id from manitu_vserver_list - never guess one.

pattern ^[1-9][0-9]*$min 1
os_image_codestringrequired

The operating system - a code from runtime.os_image_list of manitu_vserver_product_get for this vServer; never guess one.

min length 1max length 100
root_ssh_key_listarray of string

Public SSH keys that may log in as root of the newly installed server - the way to prefer. Each one public key, one line as in authorized_keys: "ssh-ed25519 AAAA... comment" (also ecdsa-sha2-nistp256/384/521, ssh-rsa from 2048 bits). No options in front of the key (command=, environment=, from= ...), no DSA. The public key only - never a private key.

min items 1max items 20
root_passwordstringwrite-only

The root password of the newly installed server - customer panel and REST only, refused over MCP: never ask for a password in a chat. Kept as a hash only, never shown again. Not together with root_password_hash. 12 to 72 printable ASCII characters, no space at the start or the end, not listed as leaked (pwnedpasswords.com).

min length 12max length 72pattern ^[\x20-\x7E]+$
root_password_hashstringwrite-only

The root password of the newly installed server as a crypt hash made by the customer - instead of root_password. A hash can be attacked offline: only for a strong password. Taken: SHA-512 crypt ("$6$...", e.g. from "openssl passwd -6" or "mkpasswd -m sha-512").

max length 128pattern ^\$
consent_tokenstringwrite-only

The consent_token from the consent_required answer of the same call - only after the customer agreed to everything in its consent_list. Valid 15 minutes, once.

min length 1max length 255
The tool list carries this simplified form: a rule at the root of a schema does not reach every client, so it is said in the description instead.
workflowstringrequired

What is being done, e.g. a reboot.

One of create destroy power_start power_stop power_reboot reinstall ptr_set vnc_enable vnc_disable rescuesystem_enable rescuesystem_disable snapshot_create snapshot_delete snapshot_delete_all snapshot_revert telemetry_await iso_eject
workflow_idstringrequired

The id of this run of the workflow.

created_atstring | nullrequired

When it was asked for.

Format date-time
started_atstring | nullrequired

When it started; null while it waits for the next run - usually a minute or two, at times longer. Nothing to tell the customer unless asked.

Format date-time
workflow_tokenstring | nullrequired

Pass it to manitu_workflow_get to see how far the workflow is - as it is, never built or changed. A secret of this workflow: do not show it to anyone. null if there is none.

taskobjectrequired

The task the customer panel polls for its progress.

task.idintegerrequired
task.authstringrequired

One of X-API-Key, Authorization: Bearer … - never more than one in a request. More

Provide at least one of: root_ssh_key_list, root_password, root_password_hash.
vserver_idinteger | stringrequired

The vserver_id from manitu_vserver_list - never guess one.

pattern ^[1-9][0-9]*$min 1
os_image_codestringrequired

The operating system - a code from runtime.os_image_list of manitu_vserver_product_get for this vServer; never guess one.

min length 1max length 100
root_ssh_key_listarray of string

Public SSH keys that may log in as root of the newly installed server - the way to prefer. Each one public key, one line as in authorized_keys: "ssh-ed25519 AAAA... comment" (also ecdsa-sha2-nistp256/384/521, ssh-rsa from 2048 bits). No options in front of the key (command=, environment=, from= ...), no DSA. The public key only - never a private key.

min items 1max items 20
root_passwordstringwrite-only

The root password of the newly installed server - customer panel and REST only, refused over MCP: never ask for a password in a chat. Kept as a hash only, never shown again. Not together with root_password_hash. 12 to 72 printable ASCII characters, no space at the start or the end, not listed as leaked (pwnedpasswords.com).

min length 12max length 72pattern ^[\x20-\x7E]+$
root_password_hashstringwrite-only

The root password of the newly installed server as a crypt hash made by the customer - instead of root_password. A hash can be attacked offline: only for a strong password. Taken: SHA-512 crypt ("$6$...", e.g. from "openssl passwd -6" or "mkpasswd -m sha-512").

max length 128pattern ^\$
consent_tokenstringwrite-only

The consent_token from the consent_required answer of the same call - only after the customer agreed to everything in its consent_list. Valid 15 minutes, once.

min length 1max length 255
workflowstringrequired

What is being done, e.g. a reboot.

One of create destroy power_start power_stop power_reboot reinstall ptr_set vnc_enable vnc_disable rescuesystem_enable rescuesystem_disable snapshot_create snapshot_delete snapshot_delete_all snapshot_revert telemetry_await iso_eject
workflow_idstringrequired

The id of this run of the workflow.

created_atstring | nullrequired

When it was asked for.

Format date-time
started_atstring | nullrequired

When it started; null while it waits for the next run - usually a minute or two, at times longer. Nothing to tell the customer unless asked.

Format date-time
workflow_tokenstring | nullrequired

Pass it to manitu_workflow_get to see how far the workflow is - as it is, never built or changed. A secret of this workflow: do not show it to anyone. null if there is none.

taskobjectrequired

The task the customer panel polls for its progress.

task.idintegerrequired
task.authstringrequired
200Success.400The request does not match the declared input schema.401No credential was presented, or it was not recognised.403The credential is not permitted to use this operation.500The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.503The channel this operation forwards through is unavailable.