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":[

    ]
}