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.

resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

subscriptionId
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

CrossRegionRestoreDetails

Cross region restore details.

restoreRequestObject True AzureBackupRestoreRequest:

AzureBackupRestoreRequest
Gets or sets the restore request object.

Responses

Name Type Description
200 OK

OperationJobExtendedInfo

Contains additional information like job Id

202 Accepted

The operation will be completed asynchronously.

Headers

  • Location: string
  • Azure-AsyncOperation: string
  • Retry-After: integer
Other Status Codes

ErrorResponse

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
AzureBackupRecoveryPointBasedRestoreRequest

AzureBackupRecoveryPointBasedRestoreRequest

AzureBackupRecoveryTimeBasedRestoreRequest

AzureBackupRecoveryTimeBasedRestoreRequest

AzureBackupRestoreWithRehydrationRequest

AzureBackupRestoreWithRehydrationRequest

CrossRegionRestoreDetails

Cross Region Restore details

CrossRegionRestoreRequestObject

Cross Region Restore Request Object

Datasource

Datasource

DatasourceSet

DatasourceSet

DefaultResourceProperties

Default source properties

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

ExistingResourcePolicy

Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore.

IdentityDetails
ItemLevelRestoreTargetInfo

Restore target info for Item level restore operation

ItemPathBasedRestoreCriteria

Prefix criteria to be used to during restore

KubernetesClusterRestoreCriteria

kubernetes Cluster Backup target info for restore operation

KubernetesClusterVaultTierRestoreCriteria

kubernetes Cluster Backup target info for restore operation from vault

KubernetesPVRestoreCriteria

Item Level kubernetes persistent volume target info for restore operation

KubernetesStorageClassRestoreCriteria

Item Level kubernetes storage class target info for restore operation

NamespacedNameResource

NamespacedNameResource

OperationJobExtendedInfo

OperationJobExtendedInfo

PersistentVolumeRestoreMode

Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored.

RangeBasedItemLevelRestoreCriteria

Item Level target info for restore operation

RecoveryOption

Recovery Option

RehydrationPriority

Priority to be used for rehydration. Values High or Standard

RestoreFilesTargetInfo

Class encapsulating restore as files target parameters

RestoreTargetInfo

Class encapsulating restore target parameters

RestoreTargetLocationType

Denotes the target location where the data will be restored, string value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}

SecretStoreBasedAuthCredentials

Secret store based authentication credentials.

SecretStoreResource

Class representing a secret store resource.

SecretStoreType

Gets or sets the type of secret store

SourceDataStoreType

Gets or sets the type of the source data store.

TargetDetails

Class encapsulating target details, used where the destination is not a datasource

AzureBackupRecoveryPointBasedRestoreRequest

AzureBackupRecoveryPointBasedRestoreRequest

Name Type Description
identityDetails

IdentityDetails

Contains information of the Identity Details for the BI. If it is null, default will be considered as System Assigned.

objectType string:

AzureBackupRecoveryPointBasedRestoreRequest

recoveryPointId

string

resourceGuardOperationRequests

string[]

ResourceGuardOperationRequests on which LAC check will be performed

restoreTargetInfo RestoreTargetInfoBase:

Gets or sets the restore target information.

sourceDataStoreType

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

IdentityDetails

Contains information of the Identity Details for the BI. If it is null, default will be considered as System Assigned.

objectType string:

AzureBackupRecoveryTimeBasedRestoreRequest

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

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

IdentityDetails

Contains information of the Identity Details for the BI. If it is null, default will be considered as System Assigned.

objectType string:

AzureBackupRestoreWithRehydrationRequest

recoveryPointId

string

rehydrationPriority

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

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

CrossRegionRestoreDetails

Cross region restore details.

restoreRequestObject AzureBackupRestoreRequest:

AzureBackupRestoreRequest
Gets or sets the restore request object.

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:

DefaultResourceProperties

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:

DefaultResourceProperties

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:

DefaultResourceProperties

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

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

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:

SecretStoreBasedAuthCredentials

Credentials to use to authenticate with data source provider.

datasourceInfo

Datasource

Datasource
Information of target DS

datasourceSetInfo

DatasourceSet

DatasourceSet
Information of target DS Set

objectType string:

ItemLevelRestoreTargetInfo

Type of Datasource object, used to initialize the right inherited type

recoveryOption

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:

ItemPathBasedRestoreCriteria

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

ExistingResourcePolicy

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:

KubernetesClusterRestoreCriteria

Type of the specific object - used for deserializing

persistentVolumeRestoreMode

PersistentVolumeRestoreMode

Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored.

resourceModifierReference

NamespacedNameResource

NamespacedNameResource
Gets or sets the resource modifier reference. This property sets the reference for resource modifier during restore.

restoreHookReferences

NamespacedNameResource[]

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

ExistingResourcePolicy

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:

KubernetesClusterVaultTierRestoreCriteria

Type of the specific object - used for deserializing

persistentVolumeRestoreMode

PersistentVolumeRestoreMode

Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored from vault.

resourceModifierReference

NamespacedNameResource

NamespacedNameResource
Gets or sets the resource modifier reference. This property sets the reference for resource modifier during restore.

restoreHookReferences

NamespacedNameResource[]

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:

KubernetesPVRestoreCriteria

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:

KubernetesStorageClassRestoreCriteria

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:

OperationJobExtendedInfo

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:

RangeBasedItemLevelRestoreCriteria

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:

RestoreFilesTargetInfo

Type of Datasource object, used to initialize the right inherited type

recoveryOption

RecoveryOption

Recovery Option

restoreLocation

string

Target Restore region

targetDetails

TargetDetails

Destination of RestoreAsFiles operation, when destination is not a datasource

RestoreTargetInfo

Class encapsulating restore target parameters

Name Type Description
datasourceAuthCredentials AuthCredentials:

SecretStoreBasedAuthCredentials

Credentials to use to authenticate with data source provider.

datasourceInfo

Datasource

Datasource
Information of target DS

datasourceSetInfo

DatasourceSet

DatasourceSet
Information of target DS Set

objectType string:

RestoreTargetInfo

Type of Datasource object, used to initialize the right inherited type

recoveryOption

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:

SecretStoreBasedAuthCredentials

Type of the specific object - used for deserializing

secretStoreResource

SecretStoreResource

Secret store resource

SecretStoreResource

Class representing a secret store resource.

Name Type Description
secretStoreType

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

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