Backup Instances - Trigger Cross Region Restore
Triggers Cross Region Restore for BackupInstance.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/crossRegionRestore?api-version=2024-04-01
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
location
|
path | True |
string |
The name of the Azure region. |
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
subscription
|
path | True |
string uuid |
The ID of the target subscription. The value must be an UUID. |
api-version
|
query | True |
string |
The API version to use for this operation. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
crossRegionRestoreDetails | True |
Cross region restore details. |
|
restoreRequestObject | True | AzureBackupRestoreRequest: |
AzureBackupRestoreRequest |
Responses
Name | Type | Description |
---|---|---|
200 OK |
Contains additional information like job Id |
|
202 Accepted |
The operation will be completed asynchronously. Headers
|
|
Other Status Codes |
Error response describing why the operation failed. |
Security
azure_auth
Azure Active Directory OAuth2 Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
user_impersonation | impersonate your user account. |
Examples
Trigger Cross Region Restore
Sample request
POST https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/locations/EastAsia/crossRegionRestore?api-version=2024-04-01
{
"restoreRequestObject": {
"objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
"recoveryPointId": "hardcodedRP",
"sourceDataStoreType": "VaultStore",
"sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
"restoreTargetInfo": {
"objectType": "RestoreTargetInfo",
"recoveryOption": "FailIfExists",
"datasourceSetInfo": {
"objectType": "DatasourceSet",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
"resourceName": "viveksipgtest",
"resourceType": "Microsoft.DBforPostgreSQL/servers",
"resourceUri": "",
"resourceLocation": "",
"datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
},
"datasourceInfo": {
"objectType": "Datasource",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
"resourceName": "targetdb",
"resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"resourceUri": "",
"resourceLocation": "",
"datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
},
"datasourceAuthCredentials": {
"secretStoreResource": {
"uri": "https://samplevault.vault.azure.net/secrets/credentials",
"secretStoreType": "AzureKeyVault"
},
"objectType": "SecretStoreBasedAuthCredentials"
},
"restoreLocation": "southeastasia"
}
},
"crossRegionRestoreDetails": {
"sourceRegion": "east asia",
"sourceBackupInstanceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/BackupInstances/harshitbi1"
}
}
Sample response
Location: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2024-04-01
Azure-AsyncOperation: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2024-04-01
Retry-After: 60
{
"jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
"objectType": "OperationJobExtendedInfo"
}
Definitions
Name | Description |
---|---|
Azure |
AzureBackupRecoveryPointBasedRestoreRequest |
Azure |
AzureBackupRecoveryTimeBasedRestoreRequest |
Azure |
AzureBackupRestoreWithRehydrationRequest |
Cross |
Cross Region Restore details |
Cross |
Cross Region Restore Request Object |
Datasource |
Datasource |
Datasource |
DatasourceSet |
Default |
Default source properties |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Existing |
Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore. |
Identity |
|
Item |
Restore target info for Item level restore operation |
Item |
Prefix criteria to be used to during restore |
Kubernetes |
kubernetes Cluster Backup target info for restore operation |
Kubernetes |
kubernetes Cluster Backup target info for restore operation from vault |
Kubernetes |
Item Level kubernetes persistent volume target info for restore operation |
Kubernetes |
Item Level kubernetes storage class target info for restore operation |
Namespaced |
NamespacedNameResource |
Operation |
OperationJobExtendedInfo |
Persistent |
Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored. |
Range |
Item Level target info for restore operation |
Recovery |
Recovery Option |
Rehydration |
Priority to be used for rehydration. Values High or Standard |
Restore |
Class encapsulating restore as files target parameters |
Restore |
Class encapsulating restore target parameters |
Restore |
Denotes the target location where the data will be restored, string value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType} |
Secret |
Secret store based authentication credentials. |
Secret |
Class representing a secret store resource. |
Secret |
Gets or sets the type of secret store |
Source |
Gets or sets the type of the source data store. |
Target |
Class encapsulating target details, used where the destination is not a datasource |
AzureBackupRecoveryPointBasedRestoreRequest
AzureBackupRecoveryPointBasedRestoreRequest
Name | Type | Description |
---|---|---|
identityDetails |
Contains information of the Identity Details for the BI. If it is null, default will be considered as System Assigned. |
|
objectType | string: | |
recoveryPointId |
string |
|
resourceGuardOperationRequests |
string[] |
ResourceGuardOperationRequests on which LAC check will be performed |
restoreTargetInfo | RestoreTargetInfoBase: |
Gets or sets the restore target information. |
sourceDataStoreType |
Gets or sets the type of the source data store. |
|
sourceResourceId |
string |
Fully qualified Azure Resource Manager ID of the datasource which is being recovered. |
AzureBackupRecoveryTimeBasedRestoreRequest
AzureBackupRecoveryTimeBasedRestoreRequest
Name | Type | Description |
---|---|---|
identityDetails |
Contains information of the Identity Details for the BI. If it is null, default will be considered as System Assigned. |
|
objectType | string: | |
recoveryPointTime |
string |
The recovery time in ISO 8601 format example - 2020-08-14T17:30:00.0000000Z. |
resourceGuardOperationRequests |
string[] |
ResourceGuardOperationRequests on which LAC check will be performed |
restoreTargetInfo | RestoreTargetInfoBase: |
Gets or sets the restore target information. |
sourceDataStoreType |
Gets or sets the type of the source data store. |
|
sourceResourceId |
string |
Fully qualified Azure Resource Manager ID of the datasource which is being recovered. |
AzureBackupRestoreWithRehydrationRequest
AzureBackupRestoreWithRehydrationRequest
Name | Type | Description |
---|---|---|
identityDetails |
Contains information of the Identity Details for the BI. If it is null, default will be considered as System Assigned. |
|
objectType | string: | |
recoveryPointId |
string |
|
rehydrationPriority |
Priority to be used for rehydration. Values High or Standard |
|
rehydrationRetentionDuration |
string |
Retention duration in ISO 8601 format i.e P10D . |
resourceGuardOperationRequests |
string[] |
ResourceGuardOperationRequests on which LAC check will be performed |
restoreTargetInfo | RestoreTargetInfoBase: |
Gets or sets the restore target information. |
sourceDataStoreType |
Gets or sets the type of the source data store. |
|
sourceResourceId |
string |
Fully qualified Azure Resource Manager ID of the datasource which is being recovered. |
CrossRegionRestoreDetails
Cross Region Restore details
Name | Type | Description |
---|---|---|
sourceBackupInstanceId |
string |
|
sourceRegion |
string |
CrossRegionRestoreRequestObject
Cross Region Restore Request Object
Name | Type | Description |
---|---|---|
crossRegionRestoreDetails |
Cross region restore details. |
|
restoreRequestObject | AzureBackupRestoreRequest: |
AzureBackupRestoreRequest |
Datasource
Datasource
Name | Type | Description |
---|---|---|
datasourceType |
string |
DatasourceType of the resource. |
objectType |
string |
Type of Datasource object, used to initialize the right inherited type |
resourceID |
string |
Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault. |
resourceLocation |
string |
Location of datasource. |
resourceName |
string |
Unique identifier of the resource in the context of parent. |
resourceProperties | BaseResourceProperties: |
Properties specific to data source |
resourceType |
string |
Resource Type of Datasource. |
resourceUri |
string |
Uri of the resource. |
DatasourceSet
DatasourceSet
Name | Type | Description |
---|---|---|
datasourceType |
string |
DatasourceType of the resource. |
objectType |
string |
Type of Datasource object, used to initialize the right inherited type |
resourceID |
string |
Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault. |
resourceLocation |
string |
Location of datasource. |
resourceName |
string |
Unique identifier of the resource in the context of parent. |
resourceProperties | BaseResourceProperties: |
Properties specific to data source set |
resourceType |
string |
Resource Type of Datasource. |
resourceUri |
string |
Uri of the resource. |
DefaultResourceProperties
Default source properties
Name | Type | Description |
---|---|---|
objectType | string: |
Type of the specific object - used for deserializing |
ErrorAdditionalInfo
The resource management error additional info.
Name | Type | Description |
---|---|---|
info |
object |
The additional info. |
type |
string |
The additional info type. |
ErrorDetail
The error detail.
Name | Type | Description |
---|---|---|
additionalInfo |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
The error object. |
ExistingResourcePolicy
Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore.
Name | Type | Description |
---|---|---|
Patch |
string |
|
Skip |
string |
IdentityDetails
Name | Type | Description |
---|---|---|
useSystemAssignedIdentity |
boolean |
Specifies if the BI is protected by System Identity. |
userAssignedIdentityArmUrl |
string |
ARM URL for User Assigned Identity. |
ItemLevelRestoreTargetInfo
Restore target info for Item level restore operation
Name | Type | Description |
---|---|---|
datasourceAuthCredentials | AuthCredentials: |
Credentials to use to authenticate with data source provider. |
datasourceInfo |
Datasource |
|
datasourceSetInfo |
DatasourceSet |
|
objectType | string: |
Type of Datasource object, used to initialize the right inherited type |
recoveryOption |
Recovery Option |
|
restoreCriteria | ItemLevelRestoreCriteria[]: |
Restore Criteria |
restoreLocation |
string |
Target Restore region |
ItemPathBasedRestoreCriteria
Prefix criteria to be used to during restore
Name | Type | Description |
---|---|---|
isPathRelativeToBackupItem |
boolean |
Flag to specify if the path is relative to backup item or full path |
itemPath |
string |
The path of the item to be restored. It could be the full path of the item or the path relative to the backup item |
objectType | string: |
Type of the specific object - used for deserializing |
subItemPathPrefix |
string[] |
The list of prefix strings to be used as filter criteria during restore. These are relative to the item path specified. |
KubernetesClusterRestoreCriteria
kubernetes Cluster Backup target info for restore operation
Name | Type | Description |
---|---|---|
conflictPolicy |
Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore. |
|
excludedNamespaces |
string[] |
Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore. |
excludedResourceTypes |
string[] |
Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore. |
includeClusterScopeResources |
boolean |
Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore. |
includedNamespaces |
string[] |
Gets or sets the include namespaces property. This property sets the namespaces to be included during restore. |
includedResourceTypes |
string[] |
Gets or sets the include resource types property. This property sets the resource types to be included during restore. |
labelSelectors |
string[] |
Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore. |
namespaceMappings |
object |
Gets or sets the Namespace Mappings property. This property sets if namespace needs to be change during restore. |
objectType | string: |
Type of the specific object - used for deserializing |
persistentVolumeRestoreMode |
Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored. |
|
resourceModifierReference |
NamespacedNameResource |
|
restoreHookReferences |
Gets or sets the restore hook references. This property sets the hook reference to be executed during restore. |
KubernetesClusterVaultTierRestoreCriteria
kubernetes Cluster Backup target info for restore operation from vault
Name | Type | Description |
---|---|---|
conflictPolicy |
Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore from vault. |
|
excludedNamespaces |
string[] |
Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore from vault. |
excludedResourceTypes |
string[] |
Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore from vault. |
includeClusterScopeResources |
boolean |
Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore from vault. |
includedNamespaces |
string[] |
Gets or sets the include namespaces property. This property sets the namespaces to be included during restore from vault. |
includedResourceTypes |
string[] |
Gets or sets the include resource types property. This property sets the resource types to be included during restore from vault. |
labelSelectors |
string[] |
Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore from vault. |
namespaceMappings |
object |
Gets or sets the Namespace Mappings property. This property sets if namespace needs to be change during restore from vault. |
objectType | string: |
Type of the specific object - used for deserializing |
persistentVolumeRestoreMode |
Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored from vault. |
|
resourceModifierReference |
NamespacedNameResource |
|
restoreHookReferences |
Gets or sets the restore hook references. This property sets the hook reference to be executed during restore from vault. |
|
stagingResourceGroupId |
string |
Gets or sets the staging RG Id for creating staging disks and snapshots during restore from vault. |
stagingStorageAccountId |
string |
Gets or sets the staging Storage Account Id for creating backup extension object store data during restore from vault. |
KubernetesPVRestoreCriteria
Item Level kubernetes persistent volume target info for restore operation
Name | Type | Description |
---|---|---|
name |
string |
Selected persistent volume claim name |
objectType | string: |
Type of the specific object - used for deserializing |
storageClassName |
string |
Selected storage class name for restore operation |
KubernetesStorageClassRestoreCriteria
Item Level kubernetes storage class target info for restore operation
Name | Type | Description |
---|---|---|
objectType | string: |
Type of the specific object - used for deserializing |
provisioner |
string |
Provisioner of the storage class |
selectedStorageClassName |
string |
Selected storage class name |
NamespacedNameResource
NamespacedNameResource
Name | Type | Description |
---|---|---|
name |
string |
Name of the resource |
namespace |
string |
Namespace in which the resource exists |
OperationJobExtendedInfo
OperationJobExtendedInfo
Name | Type | Description |
---|---|---|
jobId |
string |
Name or Arm Id of the job created for this operation. |
objectType | string: |
This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. |
PersistentVolumeRestoreMode
Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored.
Name | Type | Description |
---|---|---|
RestoreWithVolumeData |
string |
|
RestoreWithoutVolumeData |
string |
RangeBasedItemLevelRestoreCriteria
Item Level target info for restore operation
Name | Type | Description |
---|---|---|
maxMatchingValue |
string |
maximum value for range prefix match |
minMatchingValue |
string |
minimum value for range prefix match |
objectType | string: |
Type of the specific object - used for deserializing |
RecoveryOption
Recovery Option
Name | Type | Description |
---|---|---|
FailIfExists |
string |
RehydrationPriority
Priority to be used for rehydration. Values High or Standard
Name | Type | Description |
---|---|---|
High |
string |
|
Invalid |
string |
|
Standard |
string |
RestoreFilesTargetInfo
Class encapsulating restore as files target parameters
Name | Type | Description |
---|---|---|
objectType | string: |
Type of Datasource object, used to initialize the right inherited type |
recoveryOption |
Recovery Option |
|
restoreLocation |
string |
Target Restore region |
targetDetails |
Destination of RestoreAsFiles operation, when destination is not a datasource |
RestoreTargetInfo
Class encapsulating restore target parameters
Name | Type | Description |
---|---|---|
datasourceAuthCredentials | AuthCredentials: |
Credentials to use to authenticate with data source provider. |
datasourceInfo |
Datasource |
|
datasourceSetInfo |
DatasourceSet |
|
objectType | string: |
Type of Datasource object, used to initialize the right inherited type |
recoveryOption |
Recovery Option |
|
restoreLocation |
string |
Target Restore region |
RestoreTargetLocationType
Denotes the target location where the data will be restored, string value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}
Name | Type | Description |
---|---|---|
AzureBlobs |
string |
|
AzureFiles |
string |
|
Invalid |
string |
SecretStoreBasedAuthCredentials
Secret store based authentication credentials.
Name | Type | Description |
---|---|---|
objectType | string: |
Type of the specific object - used for deserializing |
secretStoreResource |
Secret store resource |
SecretStoreResource
Class representing a secret store resource.
Name | Type | Description |
---|---|---|
secretStoreType |
Gets or sets the type of secret store |
|
uri |
string |
Uri to get to the resource |
value |
string |
Gets or sets value stored in secret store resource |
SecretStoreType
Gets or sets the type of secret store
Name | Type | Description |
---|---|---|
AzureKeyVault |
string |
|
Invalid |
string |
SourceDataStoreType
Gets or sets the type of the source data store.
Name | Type | Description |
---|---|---|
ArchiveStore |
string |
|
OperationalStore |
string |
|
SnapshotStore |
string |
|
VaultStore |
string |
TargetDetails
Class encapsulating target details, used where the destination is not a datasource
Name | Type | Description |
---|---|---|
filePrefix |
string |
Restore operation may create multiple files inside location pointed by Url Below will be the common prefix for all of them |
restoreTargetLocationType |
Denotes the target location where the data will be restored, string value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType} |
|
targetResourceArmId |
string |
Full ARM Id denoting the restore destination. It is the ARM Id pointing to container / file share This is optional if the target subscription can be identified with the URL field. If not then this is needed if CrossSubscriptionRestore field of BackupVault is in any of the disabled states |
url |
string |
Url denoting the restore destination. It can point to container / file share etc |