Automate Backup Restoration through the API
- OAuth 2.0 authentication for programmatic access to Cloud Manager is available as a Preview feature.
- The feature and the corresponding documentation might change at any time during the Preview period. To use OAuth 2.0 authentication, create a service account to use in your requests to the Cloud Manager Public API.
To restore a snapshot using the API:
Find the ID of the snapshot that you want to restore.
Create a restore job using that snapshot ID.
Prerequisites
You must have API access. To learn how to get access, see Configure API Access.
To find and download the snapshot, your API Key needs read access to
snapshots in the desired project. Grant the API Key the
Project Read Only
role on the Project that relates to that
snapshot.
Variables for Automated Restore API Resources
The API resources use one or more of these variables. Replace these variables with your desired values before calling these API resources.
Name | Type | Description |
---|---|---|
PUBLIC-KEY | string | Your public API Key for your API credentials. |
PRIVATE-KEY | string | Your private API Key for your API
credentials. |
cloud.mongodb.com | string | URL of your Cloud Manager instance. |
GROUP-ID | string | Unique identifier of your project that contains the source
cluster for the restore job. You can find this value in the
Project Settings of that
project. |
CLUSTER-ID | string | Unique identifier of your source cluster for the restore job. |
TARGET-GROUP-ID | string | Unique identifier of your project that contains the target
cluster for the restore job. |
TARGET-CLUSTER-ID | string | Unique identifier of your target cluster for the restore job. |
SNAPSHOT-ID | string | Unique identifier of the snapshot you want to restore. |
Procedure
Retrieve the snapshot ID.
Call the Get All Snapshots resource to find the ID for the desired snapshot.
Invoke the following command:
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --request GET "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/snapshots?pretty=true"
Create a restore job for the snapshot.
Call the Create One Restore Job resource to request a snapshot restore.
Invoke the following command:
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ 5 --data ' 6 { 7 "delivery" : { 8 "methodName" : "AUTOMATED_RESTORE", 9 "targetGroupId" : "{TARGET-PROJECT-ID}", 10 "targetClusterId" : "{TARGET-CLUSTER-ID}" 11 }, 12 "snapshotId": "{SNAPSHOT-ID}" 13 }'
Note
To learn more about restoring snapshots with additional examples, see the Create One Restore Job for One Cluster API resource page.