Restore operations#
You should periodically test your restores to make sure that they are working as you expect. The worst possible scenario is to need your data restored now, and then to discover that your data is not available because your backups have not been configured as you expected.
Another point to consider is the restore destination. Restoring to the original location and overwriting saves the most storage space, but comes with the risk that you might accidentally overwrite important, existing files. Proceed with caution when restoring.
This section describes the restore operations that are supported by the Cloud Backup API.
List the backups available for a restore#
GET /v1.0/{tenant_id}/backup/availableforrestore
This operation lists the backups that are eligible for restore (a backup that has completed at least once and has not been deleted and is not expired).
This table shows the possible response codes for this operation:
Response Code |
Name |
Description |
---|---|---|
200 |
OK |
The request succeeded. |
400 |
Bad Request |
There were one or more errors in the request. |
401 |
Unauthorized |
The supplied token was not authorized to access the resources. Either it is expired or invalid. |
403 |
Forbidden |
Access to the requested resource was denied. |
404 |
Not Found |
The backend services did not find anything matching the request URI. |
500 |
Instance Fault |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
503 |
Service Unavailable |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
Request#
This table shows the URI parameters for the request:
Name |
Type |
Description |
---|---|---|
{tenant_id} |
String |
The unique identifier of the tenant or account. |
This operation does not accept a request body.
Example: List backups available for a restore JSON request
GET https://dfw.backup.api.rackspacecloud.com/v1.0/1234/backup/availableforrestore
User-Agent: controlpanel.drivesrvr.com
Host: dfw.backup.api.rackspacecloud.com
Content-Type: application/json;
Content-Length: 0
X-Auth-Token: 95b1788906f74d279d03001c6a14f3fe
Response#
Example: List backups available for a restore JSON response
[
{
"BackupConfigurationId":172418,
"BackupConfigurationName":"BackupConfig1",
"MachineName":"MBP0",
"MachineAgentId":252036,
"IsEncrypted":false,
"PublicKeyHex":10001,
"PublicKeyMod":"a5261939975948bb7a58dffe5ff54e65f0498f9175f5a0928 8810b8975871e99af3b5dd94057b0fc07535f5f97444504fa35169d461d0d30cf0 192e307727c065168c788771c561a9400fb49175e9e6aa4e23fe11af69e9412dd2 3b0cb6684c4c2429bce139e848ab26d0829073351f4acd36074eafd036a5eb8335 9d2a698d3",
"Flavor":"RaxCloudServer",
"LastSuccessfulBackupTime":"\/Date(1360701971000)\/"
},
{
"BackupConfigurationId":172417,
"BackupConfigurationName":"BackupCOnfig2",
"MachineName":"MBP2",
"MachineAgentId":252034,
"IsEncrypted":false,
"PublicKeyHex":10001,
"PublicKeyMod":"a5261939975948bb7a58dffe5ff54e65f0498f9175f5a09288 810b8975871e99af3b5dd94057b0fc07535f5f97444504fa35169d461d0d30cf019 2e307727c065168c788771c561a9400fb49175e9e6aa4e23fe11af69e9412dd23b0 cb6684c4c2429bce139e848ab26d0829073351f4acd36074eafd036a5eb83359d2a 698d3",
"Flavor":"RaxCloudServer",
"LastSuccessfulBackupTime":"\/Date(1360701957000)\/"
}
]
Start or stop a restore manually#
POST /v1.0/{tenant_id}/restore/action-requested
This operation manually starts or stops a restore.
This table shows the possible response codes for this operation:
Response Code |
Name |
Description |
---|---|---|
204 |
No Content |
The request succeeded. |
400 |
Bad Request |
There were one or more errors in the request. |
401 |
Unauthorized |
The supplied token was not authorized to access the resources. Either it is expired or invalid. |
403 |
Forbidden |
Access to the requested resource was denied. |
404 |
Not Found |
The backend services did not find anything matching the request URI. |
500 |
Instance Fault |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
503 |
Service Unavailable |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
Request#
This table shows the URI parameters for the request:
Name |
Type |
Description |
---|---|---|
{tenant_id} |
String |
The unique identifier of the tenant or account. |
This table shows the body parameters for the request:
Name |
Type |
Description |
---|---|---|
Action |
String (Required) |
Specifies the action to perform. Valid values are “StartManual” and “StopManual”. |
EncryptedPassword |
String (Required) |
Used only when you specify Action:”StartManual” to specify null or the encrypted key. |
Id |
String (Required) |
Specifies the restore ID. |
Example: Start encrypted restore JSON request
{
"Action": "StartManual",
"EncryptedPassword" : 'myencryptedpassword',
"Id": 13689
}
Example: Start unencrypted restore JSON request
{
"Action": "StartManual",
"Id": 13692
}
Example: Stop restore manually JSON request
{
"Action": "StopManual",
"Id": 13689
}
Response#
This operation does not return a response body.
List details about a restore#
GET /v1.0/{tenant_id}/restore/{restoreId}
This operation lists details about the specified restore.
Note
For details about the operation that you can use to list included or excluded files in a restore configuration, see List included or excluded files in a restore configuration.
This table shows the possible response codes for this operation:
Response Code |
Name |
Description |
---|---|---|
200 |
OK |
The request succeeded. |
400 |
Bad Request |
There were one or more errors in the request. |
401 |
Unauthorized |
The supplied token was not authorized to access the resources. Either it is expired or invalid. |
403 |
Forbidden |
Access to the requested resource was denied. |
404 |
Not Found |
The backend services did not find anything matching the request URI. |
500 |
Instance Fault |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
503 |
Service Unavailable |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
Request#
This table shows the URI parameters for the request:
Name |
Type |
Description |
---|---|---|
{tenant_id} |
String |
The unique identifier of the tenant or account. |
{restoreId} |
Integer |
The unique identifier for a restore. |
This operation does not accept a request body.
Example: List details about a restore JSON request
GET https://dfw.backup.api.rackspacecloud.com/v1.0/1234/restore/1394
User-Agent: controlpanel.drivesrvr.com
Host: dfw.backup.api.rackspacecloud.com
Content-Type: application/json;
Content-Length: 0
X-Auth-Token: 95b1788906f74d279d03001c6a14f3fe
Response#
This table shows the body parameters for the response:
Name |
Type |
Description |
---|---|---|
RestoreId |
String |
Creates a restore configuration and in response you get RestoreID. |
BackupId |
String |
Identifies a unique backup. |
BackupMachineId |
String |
Identifies the machine where your backup was originally made. (If you restore files to the same system, BackupMachineId and DestinationMachineId are the same. If you decide to restore to another system, different from where the files were originally backed up, DestinationMachineId is different from BackupMachineId.) |
DestinationMachineId |
String |
Identifies the machine to which you want the backups to restore. (If you restore files to the same system, BackupMachineId and DestinationMachineId are the same. If you decide to restore to another system, different from where the files were originally backed up, DestinationMachineId is different from BackupMachineId.) |
OverwriteFiles |
String |
Indicates if files are overwritten. Valid values are true and false. |
BackupDataCenter |
String |
Specifies the datacenter where the original machine agent that was responsible for creating the backup, that is being used for the restore, is or was located (the source machine does not have to be online). |
BackupConfigurationId |
String |
Autogenerated ID that uniquely identifies the backup configuration that is associated with this backup. |
BackupConfigurationName |
String |
Specifies the name of the backup configuration. |
BackupRestorePoint |
String |
Identifies the date of the backup. |
MachineAgentId |
String |
ID that uniquely identifies a Cloud Backup agent. |
BackupMachineName |
String |
Indicates the machine name of the backup. |
BackupFlavor |
String |
RaxCloudServer – for Rackspace Cloud Servers. |
DestinationMachineName |
String |
Indicates the machine to which you want to restore the backup. |
DestinationPath |
String |
Specifies the path where you want the backup to restore. |
IsEncrypted |
String |
Indicates if backups are encrypted. Valid values are true or false. |
EncryptedPassword |
String |
Specifies null or the encrypted key. |
PublicKey |
String |
Specifies the public key of the public/private encryption key pair. |
RestoreStateId |
String |
Specifies the restore state ID. Valid values are 0 for Creating, 1 for Queued, 2 for InProgress, 3 for Completed, 4 for stopped, 5 for Failed, 6 for startRequested, 7 for Stoprequested, 8 for Completed WithErrors, and 9 for Preparing. |
Inclusions |
String |
Indicates the list of files and folders to restore. |
Exclusions |
String |
Indicates the list of files and folders to not restore. |
Example: List details about a restore JSON response
{
"RestoreId":1394,
"BackupId":133886,
"DestinationMachineId":864,
"OverwriteFiles":true,
"BackupConfigurationId":6270,
"BackupConfigurationName":"Restore_Backup",
"BackupRestorePoint":"\/Date(1357151359000)\/",
"BackupMachineId":866,
"BackupMachineName":"sujala-test-centos",
"BackupFlavor":"RaxCloudServer",
"DestinationMachineName":"BILLS-TEST-WIN",
"DestinationPath":"C:\\Test\\",
"BackupDataCenter": "DFW",
"IsEncrypted":false,
"EncryptedPassword":null,
"PublicKey":{"ModulusHex":"CA759606B13DC5350A3FAE3F851C7 6F260DCCD1EFF2DB7510AE74E00B4B2B6025422757493B2EC09B2C7 1DFACFF4901E4ADAA3C9F2E6BDE9392E80FEED6F1F81BFD1D3AD9F9 080646F46632C30A94275C85859C1EFCD21BF911F311841914BC719 B1397FD3B95BE7657495903936E3345E6083922F377610CBB6EB67C 62B719770B25C9AB17521C2AB51B75871ED5F04F965C5402443ABCD 05EE5E4A5201641309B8BA1100A04C62210B2900CDEAA40F6EBF267 B73634E471DB1420FF67CE41940D8ED8F4B6C199CF5D023B410C386 C58037546D34102D245AF068E891BB80F1799DDC4C9C85C6FF73DA1 E45AEC98792BCC1C2DE3AAD3F92F50F1661A4FFDC1",
"ExponentHex":10001},
"RestoreStateId":3
}
Get a restore report#
GET /v1.0/{tenant_id}/restore/report/{restoreId}
This operation gets a report for the specified, completed restore.
This table shows the possible response codes for this operation:
Response Code |
Name |
Description |
---|---|---|
200 |
OK |
The request succeeded. |
400 |
Bad Request |
There were one or more errors in the request. |
401 |
Unauthorized |
The supplied token was not authorized to access the resources. Either it is expired or invalid. |
403 |
Forbidden |
Access to the requested resource was denied. |
404 |
Not Found |
The backend services did not find anything matching the request URI. |
500 |
Instance Fault |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
503 |
Service Unavailable |
This is a generic server error. The message contains the reason for the error. This error could wrap several error messages. |
Request#
This table shows the URI parameters for the request:
Name |
Type |
Description |
---|---|---|
{tenant_id} |
String |
The unique identifier of the tenant or account. |
{restoreId} |
Integer |
The unique identifier for a restore. |
This operation does not accept a request body.
Example: Get restore report JSON request
GET https://dfw.backup.api.rackspacecloud.com/v1.0/1234/restore/report/1394
User-Agent: controlpanel.drivesrvr.com
Host: dfw.backup.api.rackspacecloud.com
Content-Type: application/json;
Content-Length: 0
X-Auth-Token: 95b1788906f74d279d03001c6a14f3fe
Response#
This table shows the body parameters for the response:
Name |
Type |
Description |
---|---|---|
BackupConfigurationId |
String |
Autogenerated ID that uniquely identifies the backup configuration just created. |
BackupConfigurationName |
String |
Specifies the name of the backup configuration. |
BackupReportId |
String |
Indicates the ID of the backup report. |
RestorePoint |
String |
Indicates the time of the restore. |
StartTime |
String |
Indicates the starting time of the restore. |
CompletedTime |
String |
Indicates the completed time of the restore. |
Duration |
String |
Indicates the total time to restore. |
OriginatingComputerName |
String |
Specifies the backup machine name. |
State |
String |
Indicates the state of the restore. Valid values include Creating, Queued, InProgress, Completed, Stopped, Failed, startRequested, Stoprequested, CompletedWithErrors, and Preparing. |
NumFilesRestored |
String |
Indicates the number of files restored. |
NumBytesRestored |
String |
Indicates the number of bytes (size of total files) restored. |
RestoreDestination |
String |
Specifies the system to which the files are restored. |
RestoreDestinationMachineId |
String |
Specifies the machine ID to which the files are restored. |
NumErrors |
String |
Indicates the number of errors encountered. |
Reason |
String |
Explanation of errors. |
Diagnostics |
String |
Further explanation of errors. |
ErrorList |
String |
List of errors. |
Example: Get restore report JSON response
{
"BackupConfigurationId":6270,
"BackupConfigurationName":"Restore_Backup",
"BackupReportId":133886,
"RestorePoint":"\/Date(1357151359000)\/",
"StartTime":"\/Date(1357226521000)\/",
"CompletedTime":"\/Date(1357226535000)\/",
"Duration":"00:00:14",
"OriginatingComputerName":"sujala-test-centos",
"State":"CompletedWithErrors",
"NumFilesRestored":"35",
"NumBytesRestored":"18 MB",
"RestoreDestination":"BILLS-TEST-WIN",
"RestoreDestinationMachineId":864,
"NumErrors":"1",
"Reason":"UnableToProcessSomeFiles",
"Diagnostics":"Some files may not have been restored",
"ErrorList":[
]
}