Skip to main content

Restores

A restore writes a backup back out, either as something new (a volume, a server or a bucket) or over the volume or server it was taken from. A new volume or server whose backup is still on an instant tier at this site is cloned from it in seconds and handed to the project, and its volumes are copied in full in the background. Every other restore reads the repository copy. A restore runs as a job. Poll the restore, or the job it names, until it succeeds or fails, then read created_resources for what it made. Attachments are kept with restores and appear in the restore list with mode attach.

📄️ Restore a backup

`mode` is `volume`, `instance` or `bucket` to restore as something new, or `in_place` to write the backup back over the volume or server it came from. A new volume or server whose backup is on an instant tier at this site is cloned from it, as job kind `instant_restore`: each volume exists within seconds in the target project, nothing is read from the repository, and the clone is copied in full in the background. Every other restore reads the repository copy. Restored as new, a server can take a different `flavor`, `networks`, `key_name` and `security_groups`, and `resource_ids` restores only the named disks. `mapping_profile` applies a saved recovery profile. Anything it cannot resolve here must be confirmed by name in `confirm_unresolved`. A backup that does not hold every disk of its resource is refused until `acknowledge_partial` is set. Only an operator can restore into another project, with `target_project_id`. Every restore acts in its target project through a delegation the caller's token grants, and the identity service delegates only roles the caller holds in that project itself: an admin role on the system or on another project does not count, so an operator account needs a role, such as `member`, in every project it restores into.