Restore a backup
POST/v1/restores
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.
Any member of the project the token is scoped to.
Request
Responses
- 202
- 400
- 401
- 403
- 404
- 409
- 413
- 415
- 422
- 502
- 503
- default
Accepted
Bad Request.
invalid_request: The body is not a single JSON object, names a field this operation does not take, or gives a value of the wrong type.
restore_trust_refused: The token cannot grant the delegation the restore needs, because none was carried or it was issued from an application credential.
Unauthorized.
unauthenticated: The token is missing, expired or not valid.
Forbidden.
forbidden: The token may not restore in this project, or may not restore in place. Or it names another project in target_project_id without operator rights.
restore_trust_refused: The caller holds no role on the target project to delegate. Grant the account a role in that project and restore again.
Not Found.
not_found: The backup does not exist or is not visible to this token. Or mapping_profile names no saved profile for the backup's origin.
Conflict.
point_not_restorable: The backup's state is not committed or verified, for example because it is still being taken, is broken or is being erased.
partial_restore_unacknowledged: The backup does not contain every disk of its resource and acknowledge_partial is not true. refusals and coverage list what is missing.
tier_unavailable: tier names a copy that cannot serve this request, and the detail says why: for the instant tier, an in-place restore, a volume type, zone or mapping profile named, a disk that is not a Cinder volume, or a tier this service cannot clone from. Or no copy can be read now, for example because the backup is held only on the instant tier and not yet written to the repository, and the request is one the instant tier cannot serve.
mapping_unresolved: mapping_profile leaves elements unresolved that confirm_unresolved does not name. Or more than one cloud wrote backups under the backup's origin name.
domain_key_missing: mapping_profile needs the backup's record, and this cloud holds no key that opens it.
Request Entity Too Large.
body_too_large: The body is larger than the service accepts.
Unsupported Media Type.
unsupported_media_type: The body is not sent as application/json.
Unprocessable Entity.
validation_failed: A field is not acceptable. mode is missing or unknown. point_id is not a UUID. mode does not suit the backup: bucket for a backup of disks, or anything else for a bucket. tier is not chunk or rbd. flavor, networks, key_name, security_groups or resource_ids were sent with a mode that does not build that. mode is bucket and this cloud has no object gateway.
Bad Gateway.
restore_trust_refused: The identity service refused the delegation.
service_unavailable: mapping_profile was named and this cloud's inventory could not be read.
Service Unavailable.
kms_unavailable: The backup's record is encrypted and this site has no key manager configured.
An error, as an RFC 7807 problem document.