Triggers restore for a BackupInstance
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore?api-version=2026-07-01
URI Parameters
| Name |
In |
Required |
Type |
Description |
|
backupInstanceName
|
path |
True
|
string
|
The name of the BackupInstanceResource
|
|
resourceGroupName
|
path |
True
|
string
minLength: 1 maxLength: 90
|
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.
|
|
vaultName
|
path |
True
|
string
minLength: 2 maxLength: 50 pattern: ^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$
|
The name of the backup vault.
|
|
api-version
|
query |
True
|
string
minLength: 1
|
The API version to use for this operation.
|
| Name |
Required |
Type |
Description |
|
x-ms-authorization-auxiliary
|
|
string
|
|
Request Body
The request body can be one of the following:
AzureBackupRecoveryPointBasedRestoreRequest
Azure backup recoveryPoint based restore request
| Name |
Required |
Type |
Description |
|
objectType
|
True
|
string:
AzureBackupRecoveryPointBasedRestoreRequest
|
|
|
recoveryPointId
|
True
|
string
|
|
|
restoreTargetInfo
|
True
|
RestoreTargetInfoBase:
|
Gets or sets the restore target information.
|
|
sourceDataStoreType
|
True
|
SourceDataStoreType
|
Gets or sets the type of the source data store.
|
|
identityDetails
|
|
IdentityDetails
|
Contains information of the Identity Details for the BI.
If it is null, default will be considered as System Assigned.
|
|
resourceGuardOperationRequests
|
|
string[]
|
ResourceGuardOperationRequests on which LAC check will be performed
|
|
sourceResourceId
|
|
string
|
Fully qualified Azure Resource Manager ID of the datasource which is being recovered.
|
AzureBackupRecoveryTimeBasedRestoreRequest
AzureBackup RecoveryPointTime Based Restore Request
| Name |
Required |
Type |
Description |
|
objectType
|
True
|
string:
AzureBackupRecoveryTimeBasedRestoreRequest
|
|
|
recoveryPointTime
|
True
|
string
|
The recovery time in ISO 8601 format example - 2020-08-14T17:30:00.0000000Z.
|
|
restoreTargetInfo
|
True
|
RestoreTargetInfoBase:
|
Gets or sets the restore target information.
|
|
sourceDataStoreType
|
True
|
SourceDataStoreType
|
Gets or sets the type of the source data store.
|
|
identityDetails
|
|
IdentityDetails
|
Contains information of the Identity Details for the BI.
If it is null, default will be considered as System Assigned.
|
|
resourceGuardOperationRequests
|
|
string[]
|
ResourceGuardOperationRequests on which LAC check will be performed
|
|
sourceResourceId
|
|
string
|
Fully qualified Azure Resource Manager ID of the datasource which is being recovered.
|
AzureBackupRestoreWithRehydrationRequest
AzureBackup Restore with Rehydration Request
| Name |
Required |
Type |
Description |
|
objectType
|
True
|
string:
AzureBackupRestoreWithRehydrationRequest
|
|
|
recoveryPointId
|
True
|
string
|
|
|
rehydrationPriority
|
True
|
RehydrationPriority
|
Priority to be used for rehydration. Values High or Standard
|
|
rehydrationRetentionDuration
|
True
|
string
|
Retention duration in ISO 8601 format i.e P10D .
|
|
restoreTargetInfo
|
True
|
RestoreTargetInfoBase:
|
Gets or sets the restore target information.
|
|
sourceDataStoreType
|
True
|
SourceDataStoreType
|
Gets or sets the type of the source data store.
|
|
identityDetails
|
|
IdentityDetails
|
Contains information of the Identity Details for the BI.
If it is null, default will be considered as System Assigned.
|
|
resourceGuardOperationRequests
|
|
string[]
|
ResourceGuardOperationRequests on which LAC check will be performed
|
|
sourceResourceId
|
|
string
|
Fully qualified Azure Resource Manager ID of the datasource which is being recovered.
|
Responses
| Name |
Type |
Description |
|
200 OK
|
OperationJobExtendedInfo
|
Azure operation completed successfully.
|
|
202 Accepted
|
|
Resource operation accepted.
Headers
- Azure-AsyncOperation: string
- Location: string
|
|
Other Status Codes
|
CloudError
|
An unexpected error response.
|
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 Restore
Sample request
POST https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/testInstance1/restore?api-version=2026-07-01
{
"identityDetails": {
"useSystemAssignedIdentity": false,
"userAssignedIdentityArmUrl": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUami"
},
"objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
"recoveryPointId": "hardcodedRP",
"restoreTargetInfo": {
"datasourceAuthCredentials": {
"objectType": "SecretStoreBasedAuthCredentials",
"secretStoreResource": {
"secretStoreType": "AzureKeyVault",
"uri": "https://samplevault.vault.azure.net/secrets/credentials"
}
},
"datasourceInfo": {
"datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"objectType": "Datasource",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
"resourceLocation": "",
"resourceName": "targetdb",
"resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"resourceUri": ""
},
"datasourceSetInfo": {
"datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"objectType": "DatasourceSet",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
"resourceLocation": "",
"resourceName": "viveksipgtest",
"resourceType": "Microsoft.DBforPostgreSQL/servers",
"resourceUri": ""
},
"objectType": "RestoreTargetInfo",
"recoveryOption": "FailIfExists",
"restoreLocation": "southeastasia"
},
"sourceDataStoreType": "VaultStore",
"sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"
}
import com.azure.resourcemanager.dataprotection.models.AzureBackupRecoveryPointBasedRestoreRequest;
import com.azure.resourcemanager.dataprotection.models.Datasource;
import com.azure.resourcemanager.dataprotection.models.DatasourceSet;
import com.azure.resourcemanager.dataprotection.models.IdentityDetails;
import com.azure.resourcemanager.dataprotection.models.RecoveryOption;
import com.azure.resourcemanager.dataprotection.models.RestoreTargetInfo;
import com.azure.resourcemanager.dataprotection.models.SecretStoreBasedAuthCredentials;
import com.azure.resourcemanager.dataprotection.models.SecretStoreResource;
import com.azure.resourcemanager.dataprotection.models.SecretStoreType;
import com.azure.resourcemanager.dataprotection.models.SourceDataStoreType;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for BackupInstances TriggerRestore.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestore.json
*/
/**
* Sample code: Trigger Restore.
*
* @param manager Entry point to DataProtectionManager.
*/
public static void triggerRestore(com.azure.resourcemanager.dataprotection.DataProtectionManager manager) {
manager.backupInstances().triggerRestore("000pikumar", "PratikPrivatePreviewVault1", "testInstance1",
new AzureBackupRecoveryPointBasedRestoreRequest().withRestoreTargetInfo(new RestoreTargetInfo()
.withRecoveryOption(RecoveryOption.FAIL_IF_EXISTS).withRestoreLocation("southeastasia")
.withDatasourceInfo(new Datasource().withDatasourceType("Microsoft.DBforPostgreSQL/servers/databases")
.withObjectType("Datasource")
.withResourceId(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb")
.withResourceLocation("").withResourceName("targetdb")
.withResourceType("Microsoft.DBforPostgreSQL/servers/databases").withResourceUri(""))
.withDatasourceSetInfo(new DatasourceSet()
.withDatasourceType("Microsoft.DBforPostgreSQL/servers/databases").withObjectType("DatasourceSet")
.withResourceId(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest")
.withResourceLocation("").withResourceName("viveksipgtest")
.withResourceType("Microsoft.DBforPostgreSQL/servers").withResourceUri(""))
.withDatasourceAuthCredentials(new SecretStoreBasedAuthCredentials().withSecretStoreResource(
new SecretStoreResource().withUri("https://samplevault.vault.azure.net/secrets/credentials")
.withSecretStoreType(SecretStoreType.AZURE_KEY_VAULT))))
.withSourceDataStoreType(SourceDataStoreType.VAULT_STORE)
.withSourceResourceId(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb")
.withIdentityDetails(
new IdentityDetails().withUseSystemAssignedIdentity(false).withUserAssignedIdentityArmUrl(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUami"))
.withRecoveryPointId("hardcodedRP"),
com.azure.core.util.Context.NONE);
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.dataprotection import DataProtectionMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-dataprotection
# USAGE
python trigger_restore.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = DataProtectionMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.backup_instances.begin_trigger_restore(
resource_group_name="000pikumar",
vault_name="PratikPrivatePreviewVault1",
backup_instance_name="testInstance1",
parameters={
"identityDetails": {
"useSystemAssignedIdentity": False,
"userAssignedIdentityArmUrl": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUami",
},
"objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
"recoveryPointId": "hardcodedRP",
"restoreTargetInfo": {
"datasourceAuthCredentials": {
"objectType": "SecretStoreBasedAuthCredentials",
"secretStoreResource": {
"secretStoreType": "AzureKeyVault",
"uri": "https://samplevault.vault.azure.net/secrets/credentials",
},
},
"datasourceInfo": {
"datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"objectType": "Datasource",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
"resourceLocation": "",
"resourceName": "targetdb",
"resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"resourceUri": "",
},
"datasourceSetInfo": {
"datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"objectType": "DatasourceSet",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
"resourceLocation": "",
"resourceName": "viveksipgtest",
"resourceType": "Microsoft.DBforPostgreSQL/servers",
"resourceUri": "",
},
"objectType": "RestoreTargetInfo",
"recoveryOption": "FailIfExists",
"restoreLocation": "southeastasia",
},
"sourceDataStoreType": "VaultStore",
"sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestore.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armdataprotection_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dataprotection/armdataprotection/v4"
)
// Generated from example definition: 2026-07-01/BackupInstanceOperations/TriggerRestore.json
func ExampleBackupInstancesClient_BeginTriggerRestore_triggerRestore() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdataprotection.NewClientFactory("04cf684a-d41f-4550-9f70-7708a3a2283b", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBackupInstancesClient().BeginTriggerRestore(ctx, "000pikumar", "PratikPrivatePreviewVault1", "testInstance1", &armdataprotection.AzureBackupRecoveryPointBasedRestoreRequest{
IdentityDetails: &armdataprotection.IdentityDetails{
UseSystemAssignedIdentity: to.Ptr(false),
UserAssignedIdentityArmURL: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUami"),
},
ObjectType: to.Ptr("AzureBackupRecoveryPointBasedRestoreRequest"),
RecoveryPointID: to.Ptr("hardcodedRP"),
RestoreTargetInfo: &armdataprotection.RestoreTargetInfo{
DatasourceAuthCredentials: &armdataprotection.SecretStoreBasedAuthCredentials{
ObjectType: to.Ptr("SecretStoreBasedAuthCredentials"),
SecretStoreResource: &armdataprotection.SecretStoreResource{
SecretStoreType: to.Ptr(armdataprotection.SecretStoreTypeAzureKeyVault),
URI: to.Ptr("https://samplevault.vault.azure.net/secrets/credentials"),
},
},
DatasourceInfo: &armdataprotection.Datasource{
DatasourceType: to.Ptr("Microsoft.DBforPostgreSQL/servers/databases"),
ObjectType: to.Ptr("Datasource"),
ResourceID: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb"),
ResourceLocation: to.Ptr(""),
ResourceName: to.Ptr("targetdb"),
ResourceType: to.Ptr("Microsoft.DBforPostgreSQL/servers/databases"),
ResourceURI: to.Ptr(""),
},
DatasourceSetInfo: &armdataprotection.DatasourceSet{
DatasourceType: to.Ptr("Microsoft.DBforPostgreSQL/servers/databases"),
ObjectType: to.Ptr("DatasourceSet"),
ResourceID: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest"),
ResourceLocation: to.Ptr(""),
ResourceName: to.Ptr("viveksipgtest"),
ResourceType: to.Ptr("Microsoft.DBforPostgreSQL/servers"),
ResourceURI: to.Ptr(""),
},
ObjectType: to.Ptr("RestoreTargetInfo"),
RecoveryOption: to.Ptr(armdataprotection.RecoveryOptionFailIfExists),
RestoreLocation: to.Ptr("southeastasia"),
},
SourceDataStoreType: to.Ptr(armdataprotection.SourceDataStoreTypeVaultStore),
SourceResourceID: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"),
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armdataprotection.BackupInstancesClientTriggerRestoreResponse{
// OperationJobExtendedInfo: armdataprotection.OperationJobExtendedInfo{
// JobID: to.Ptr("c60cb49-63e8-4b21-b9bd-26277b3fdfae"),
// ObjectType: to.Ptr("OperationJobExtendedInfo"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { DataProtectionClient } = require("@azure/arm-dataprotection");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to triggers restore for a BackupInstance
*
* @summary triggers restore for a BackupInstance
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestore.json
*/
async function triggerRestore() {
const credential = new DefaultAzureCredential();
const subscriptionId = "04cf684a-d41f-4550-9f70-7708a3a2283b";
const client = new DataProtectionClient(credential, subscriptionId);
const result = await client.backupInstances.triggerRestore(
"000pikumar",
"PratikPrivatePreviewVault1",
"testInstance1",
{
identityDetails: {
useSystemAssignedIdentity: false,
userAssignedIdentityArmUrl:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUami",
},
objectType: "AzureBackupRecoveryPointBasedRestoreRequest",
recoveryPointId: "hardcodedRP",
restoreTargetInfo: {
datasourceAuthCredentials: {
objectType: "SecretStoreBasedAuthCredentials",
secretStoreResource: {
secretStoreType: "AzureKeyVault",
uri: "https://samplevault.vault.azure.net/secrets/credentials",
},
},
datasourceInfo: {
datasourceType: "Microsoft.DBforPostgreSQL/servers/databases",
objectType: "Datasource",
resourceID:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
resourceLocation: "",
resourceName: "targetdb",
resourceType: "Microsoft.DBforPostgreSQL/servers/databases",
resourceUri: "",
},
datasourceSetInfo: {
datasourceType: "Microsoft.DBforPostgreSQL/servers/databases",
objectType: "DatasourceSet",
resourceID:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
resourceLocation: "",
resourceName: "viveksipgtest",
resourceType: "Microsoft.DBforPostgreSQL/servers",
resourceUri: "",
},
objectType: "RestoreTargetInfo",
recoveryOption: "FailIfExists",
restoreLocation: "southeastasia",
},
sourceDataStoreType: "VaultStore",
sourceResourceId:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
"objectType": "OperationJobExtendedInfo"
}
Azure-AsyncOperation: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Location: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Retry-After: 60
Trigger Restore As Files
Sample request
POST https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault1/backupInstances/testInstance1/restore?api-version=2026-07-01
{
"objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
"recoveryPointId": "hardcodedRP",
"restoreTargetInfo": {
"objectType": "RestoreFilesTargetInfo",
"recoveryOption": "FailIfExists",
"restoreLocation": "southeastasia",
"targetDetails": {
"filePrefix": "restoredblob",
"restoreTargetLocationType": "AzureBlobs",
"url": "https://teststorage.blob.core.windows.net/restoretest"
}
},
"sourceDataStoreType": "VaultStore",
"sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"
}
import com.azure.resourcemanager.dataprotection.models.AzureBackupRecoveryPointBasedRestoreRequest;
import com.azure.resourcemanager.dataprotection.models.RecoveryOption;
import com.azure.resourcemanager.dataprotection.models.RestoreFilesTargetInfo;
import com.azure.resourcemanager.dataprotection.models.RestoreTargetLocationType;
import com.azure.resourcemanager.dataprotection.models.SourceDataStoreType;
import com.azure.resourcemanager.dataprotection.models.TargetDetails;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for BackupInstances TriggerRestore.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreAsFiles.json
*/
/**
* Sample code: Trigger Restore As Files.
*
* @param manager Entry point to DataProtectionManager.
*/
public static void triggerRestoreAsFiles(com.azure.resourcemanager.dataprotection.DataProtectionManager manager) {
manager.backupInstances().triggerRestore("000pikumar", "PrivatePreviewVault1", "testInstance1",
new AzureBackupRecoveryPointBasedRestoreRequest()
.withRestoreTargetInfo(new RestoreFilesTargetInfo().withRecoveryOption(RecoveryOption.FAIL_IF_EXISTS)
.withRestoreLocation("southeastasia")
.withTargetDetails(new TargetDetails().withFilePrefix("restoredblob")
.withRestoreTargetLocationType(RestoreTargetLocationType.AZURE_BLOBS)
.withUrl("https://teststorage.blob.core.windows.net/restoretest")))
.withSourceDataStoreType(SourceDataStoreType.VAULT_STORE)
.withSourceResourceId(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb")
.withRecoveryPointId("hardcodedRP"),
com.azure.core.util.Context.NONE);
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.dataprotection import DataProtectionMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-dataprotection
# USAGE
python trigger_restore_as_files.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = DataProtectionMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.backup_instances.begin_trigger_restore(
resource_group_name="000pikumar",
vault_name="PrivatePreviewVault1",
backup_instance_name="testInstance1",
parameters={
"objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
"recoveryPointId": "hardcodedRP",
"restoreTargetInfo": {
"objectType": "RestoreFilesTargetInfo",
"recoveryOption": "FailIfExists",
"restoreLocation": "southeastasia",
"targetDetails": {
"filePrefix": "restoredblob",
"restoreTargetLocationType": "AzureBlobs",
"url": "https://teststorage.blob.core.windows.net/restoretest",
},
},
"sourceDataStoreType": "VaultStore",
"sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreAsFiles.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armdataprotection_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dataprotection/armdataprotection/v4"
)
// Generated from example definition: 2026-07-01/BackupInstanceOperations/TriggerRestoreAsFiles.json
func ExampleBackupInstancesClient_BeginTriggerRestore_triggerRestoreAsFiles() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdataprotection.NewClientFactory("04cf684a-d41f-4550-9f70-7708a3a2283b", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBackupInstancesClient().BeginTriggerRestore(ctx, "000pikumar", "PrivatePreviewVault1", "testInstance1", &armdataprotection.AzureBackupRecoveryPointBasedRestoreRequest{
ObjectType: to.Ptr("AzureBackupRecoveryPointBasedRestoreRequest"),
RecoveryPointID: to.Ptr("hardcodedRP"),
RestoreTargetInfo: &armdataprotection.RestoreFilesTargetInfo{
ObjectType: to.Ptr("RestoreFilesTargetInfo"),
RecoveryOption: to.Ptr(armdataprotection.RecoveryOptionFailIfExists),
RestoreLocation: to.Ptr("southeastasia"),
TargetDetails: &armdataprotection.TargetDetails{
FilePrefix: to.Ptr("restoredblob"),
RestoreTargetLocationType: to.Ptr(armdataprotection.RestoreTargetLocationTypeAzureBlobs),
URL: to.Ptr("https://teststorage.blob.core.windows.net/restoretest"),
},
},
SourceDataStoreType: to.Ptr(armdataprotection.SourceDataStoreTypeVaultStore),
SourceResourceID: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"),
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armdataprotection.BackupInstancesClientTriggerRestoreResponse{
// OperationJobExtendedInfo: armdataprotection.OperationJobExtendedInfo{
// JobID: to.Ptr("c60cb49-63e8-4b21-b9bd-26277b3fdfae"),
// ObjectType: to.Ptr("OperationJobExtendedInfo"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { DataProtectionClient } = require("@azure/arm-dataprotection");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to triggers restore for a BackupInstance
*
* @summary triggers restore for a BackupInstance
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreAsFiles.json
*/
async function triggerRestoreAsFiles() {
const credential = new DefaultAzureCredential();
const subscriptionId = "04cf684a-d41f-4550-9f70-7708a3a2283b";
const client = new DataProtectionClient(credential, subscriptionId);
const result = await client.backupInstances.triggerRestore(
"000pikumar",
"PrivatePreviewVault1",
"testInstance1",
{
objectType: "AzureBackupRecoveryPointBasedRestoreRequest",
recoveryPointId: "hardcodedRP",
restoreTargetInfo: {
objectType: "RestoreFilesTargetInfo",
recoveryOption: "FailIfExists",
restoreLocation: "southeastasia",
targetDetails: {
filePrefix: "restoredblob",
restoreTargetLocationType: "AzureBlobs",
url: "https://teststorage.blob.core.windows.net/restoretest",
},
},
sourceDataStoreType: "VaultStore",
sourceResourceId:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
"objectType": "OperationJobExtendedInfo"
}
Azure-AsyncOperation: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Location: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/testInstance1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Retry-After: 60
Trigger Restore with GenericRestoreDatasourceCriteria
Sample request
POST https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault1/backupInstances/testInstance1/restore?api-version=2026-07-01
{
"objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
"recoveryPointId": "hardcodedRP",
"sourceDataStoreType": "OperationalStore",
"restoreTargetInfo": {
"restoreLocation": "southeastasia",
"recoveryOption": "FailIfExists",
"objectType": "ItemLevelRestoreTargetInfo",
"datasourceInfo": {
"resourceID": "/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc/volumeGroups/target-esan-volgroup",
"resourceUri": "SampleresourceUri123",
"datasourceType": "Microsoft.ElasticSan/elasticSans/volumeGroups",
"resourceName": "target-esan-volgroup",
"resourceType": "Microsoft.ElasticSan/elasticSans/volumeGroups",
"resourceLocation": "eastus2euap",
"objectType": "Datasource"
},
"datasourceSetInfo": {
"resourceID": "/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc",
"datasourceType": "Microsoft.ElasticSan/elasticSans/volumeGroups",
"resourceType": "Microsoft.ElasticSan/elasticSans",
"resourceLocation": "eastus2euap",
"objectType": "DatasourceSet"
},
"restoreCriteria": [
{
"objectType": "GenericRestoreDatasourceCriteria",
"resourceSelectors": {
"objectType": "resourceListSelectionCriteria",
"resourceIdentifiers": [
"source-vol1",
"source-vol2",
"source-vol3"
],
"resourceNameOverrides": {
"source-vol1": "target-vol1",
"source-vol2": "target-vol2"
}
}
}
]
}
}
import com.azure.resourcemanager.dataprotection.models.AzureBackupRecoveryPointBasedRestoreRequest;
import com.azure.resourcemanager.dataprotection.models.Datasource;
import com.azure.resourcemanager.dataprotection.models.DatasourceSet;
import com.azure.resourcemanager.dataprotection.models.GenericRestoreDatasourceCriteria;
import com.azure.resourcemanager.dataprotection.models.ItemLevelRestoreTargetInfo;
import com.azure.resourcemanager.dataprotection.models.RecoveryOption;
import com.azure.resourcemanager.dataprotection.models.ResourceListSelectionCriteria;
import com.azure.resourcemanager.dataprotection.models.SourceDataStoreType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for BackupInstances TriggerRestore.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithGenericParameters.json
*/
/**
* Sample code: Trigger Restore with GenericRestoreDatasourceCriteria.
*
* @param manager Entry point to DataProtectionManager.
*/
public static void triggerRestoreWithGenericRestoreDatasourceCriteria(
com.azure.resourcemanager.dataprotection.DataProtectionManager manager) {
manager.backupInstances()
.triggerRestore("000pikumar", "PrivatePreviewVault1", "testInstance1",
new AzureBackupRecoveryPointBasedRestoreRequest()
.withRestoreTargetInfo(new ItemLevelRestoreTargetInfo()
.withRecoveryOption(RecoveryOption.FAIL_IF_EXISTS).withRestoreLocation("southeastasia")
.withRestoreCriteria(
Arrays.asList(new GenericRestoreDatasourceCriteria().withResourceSelectors(
new ResourceListSelectionCriteria().withObjectType("resourceListSelectionCriteria")
.withResourceIdentifiers(Arrays
.asList("source-vol1", "source-vol2", "source-vol3"))
.withResourceNameOverrides(
mapOf("source-vol1", "target-vol1", "source-vol2", "target-vol2")))))
.withDatasourceInfo(new Datasource()
.withDatasourceType("Microsoft.ElasticSan/elasticSans/volumeGroups")
.withObjectType("Datasource")
.withResourceId(
"/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc/volumeGroups/target-esan-volgroup")
.withResourceLocation("eastus2euap").withResourceName("target-esan-volgroup")
.withResourceType(
"Microsoft.ElasticSan/elasticSans/volumeGroups")
.withResourceUri("SampleresourceUri123"))
.withDatasourceSetInfo(new DatasourceSet()
.withDatasourceType("Microsoft.ElasticSan/elasticSans/volumeGroups")
.withObjectType("DatasourceSet")
.withResourceId(
"/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc")
.withResourceLocation("eastus2euap").withResourceType("Microsoft.ElasticSan/elasticSans")))
.withSourceDataStoreType(SourceDataStoreType.OPERATIONAL_STORE).withRecoveryPointId("hardcodedRP"),
com.azure.core.util.Context.NONE);
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.dataprotection import DataProtectionMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-dataprotection
# USAGE
python trigger_restore_with_generic_parameters.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = DataProtectionMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.backup_instances.begin_trigger_restore(
resource_group_name="000pikumar",
vault_name="PrivatePreviewVault1",
backup_instance_name="testInstance1",
parameters={
"objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
"recoveryPointId": "hardcodedRP",
"restoreTargetInfo": {
"datasourceInfo": {
"datasourceType": "Microsoft.ElasticSan/elasticSans/volumeGroups",
"objectType": "Datasource",
"resourceID": "/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc/volumeGroups/target-esan-volgroup",
"resourceLocation": "eastus2euap",
"resourceName": "target-esan-volgroup",
"resourceType": "Microsoft.ElasticSan/elasticSans/volumeGroups",
"resourceUri": "SampleresourceUri123",
},
"datasourceSetInfo": {
"datasourceType": "Microsoft.ElasticSan/elasticSans/volumeGroups",
"objectType": "DatasourceSet",
"resourceID": "/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc",
"resourceLocation": "eastus2euap",
"resourceType": "Microsoft.ElasticSan/elasticSans",
},
"objectType": "ItemLevelRestoreTargetInfo",
"recoveryOption": "FailIfExists",
"restoreCriteria": [
{
"objectType": "GenericRestoreDatasourceCriteria",
"resourceSelectors": {
"objectType": "resourceListSelectionCriteria",
"resourceIdentifiers": ["source-vol1", "source-vol2", "source-vol3"],
"resourceNameOverrides": {"source-vol1": "target-vol1", "source-vol2": "target-vol2"},
},
}
],
"restoreLocation": "southeastasia",
},
"sourceDataStoreType": "OperationalStore",
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithGenericParameters.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armdataprotection_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dataprotection/armdataprotection/v4"
)
// Generated from example definition: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithGenericParameters.json
func ExampleBackupInstancesClient_BeginTriggerRestore_triggerRestoreWithGenericRestoreDatasourceCriteria() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdataprotection.NewClientFactory("04cf684a-d41f-4550-9f70-7708a3a2283b", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBackupInstancesClient().BeginTriggerRestore(ctx, "000pikumar", "PrivatePreviewVault1", "testInstance1", &armdataprotection.AzureBackupRecoveryPointBasedRestoreRequest{
ObjectType: to.Ptr("AzureBackupRecoveryPointBasedRestoreRequest"),
RecoveryPointID: to.Ptr("hardcodedRP"),
SourceDataStoreType: to.Ptr(armdataprotection.SourceDataStoreTypeOperationalStore),
RestoreTargetInfo: &armdataprotection.ItemLevelRestoreTargetInfo{
RestoreLocation: to.Ptr("southeastasia"),
RecoveryOption: to.Ptr(armdataprotection.RecoveryOptionFailIfExists),
ObjectType: to.Ptr("ItemLevelRestoreTargetInfo"),
DatasourceInfo: &armdataprotection.Datasource{
ResourceID: to.Ptr("/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc/volumeGroups/target-esan-volgroup"),
ResourceURI: to.Ptr("SampleresourceUri123"),
DatasourceType: to.Ptr("Microsoft.ElasticSan/elasticSans/volumeGroups"),
ResourceName: to.Ptr("target-esan-volgroup"),
ResourceType: to.Ptr("Microsoft.ElasticSan/elasticSans/volumeGroups"),
ResourceLocation: to.Ptr("eastus2euap"),
ObjectType: to.Ptr("Datasource"),
},
DatasourceSetInfo: &armdataprotection.DatasourceSet{
ResourceID: to.Ptr("/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc"),
DatasourceType: to.Ptr("Microsoft.ElasticSan/elasticSans/volumeGroups"),
ResourceType: to.Ptr("Microsoft.ElasticSan/elasticSans"),
ResourceLocation: to.Ptr("eastus2euap"),
ObjectType: to.Ptr("DatasourceSet"),
},
RestoreCriteria: []armdataprotection.ItemLevelRestoreCriteriaClassification{
&armdataprotection.GenericRestoreDatasourceCriteria{
ObjectType: to.Ptr("GenericRestoreDatasourceCriteria"),
ResourceSelectors: &armdataprotection.ResourceListSelectionCriteria{
ObjectType: to.Ptr("resourceListSelectionCriteria"),
ResourceIdentifiers: []*string{
to.Ptr("source-vol1"),
to.Ptr("source-vol2"),
to.Ptr("source-vol3"),
},
ResourceNameOverrides: map[string]*string{
"source-vol1": to.Ptr("target-vol1"),
"source-vol2": to.Ptr("target-vol2"),
},
},
},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armdataprotection.BackupInstancesClientTriggerRestoreResponse{
// OperationJobExtendedInfo: armdataprotection.OperationJobExtendedInfo{
// JobID: to.Ptr("c60cb49-63e8-4b21-b9bd-26277b3fdfae"),
// ObjectType: to.Ptr("OperationJobExtendedInfo"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { DataProtectionClient } = require("@azure/arm-dataprotection");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to triggers restore for a BackupInstance
*
* @summary triggers restore for a BackupInstance
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithGenericParameters.json
*/
async function triggerRestoreWithGenericRestoreDatasourceCriteria() {
const credential = new DefaultAzureCredential();
const subscriptionId = "04cf684a-d41f-4550-9f70-7708a3a2283b";
const client = new DataProtectionClient(credential, subscriptionId);
const result = await client.backupInstances.triggerRestore(
"000pikumar",
"PrivatePreviewVault1",
"testInstance1",
{
objectType: "AzureBackupRecoveryPointBasedRestoreRequest",
recoveryPointId: "hardcodedRP",
sourceDataStoreType: "OperationalStore",
restoreTargetInfo: {
restoreLocation: "southeastasia",
recoveryOption: "FailIfExists",
objectType: "ItemLevelRestoreTargetInfo",
datasourceInfo: {
resourceID:
"/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc/volumeGroups/target-esan-volgroup",
resourceUri: "SampleresourceUri123",
datasourceType: "Microsoft.ElasticSan/elasticSans/volumeGroups",
resourceName: "target-esan-volgroup",
resourceType: "Microsoft.ElasticSan/elasticSans/volumeGroups",
resourceLocation: "eastus2euap",
objectType: "Datasource",
},
datasourceSetInfo: {
resourceID:
"/subscriptions/97cda027-4279-4cde-b4ff-19afa0021d87/resourceGroups/ESAN-ECYBVTRG/providers/Microsoft.ElasticSan/elasticSans/ecy-bvt-adhoc",
datasourceType: "Microsoft.ElasticSan/elasticSans/volumeGroups",
resourceType: "Microsoft.ElasticSan/elasticSans",
resourceLocation: "eastus2euap",
objectType: "DatasourceSet",
},
restoreCriteria: [
{
objectType: "GenericRestoreDatasourceCriteria",
resourceSelectors: {
objectType: "resourceListSelectionCriteria",
resourceIdentifiers: ["source-vol1", "source-vol2", "source-vol3"],
resourceNameOverrides: { "source-vol1": "target-vol1", "source-vol2": "target-vol2" },
},
},
],
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
Location: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/testInstance1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Azure-AsyncOperation: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Retry-After: 60
{
"jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
"objectType": "OperationJobExtendedInfo"
}
Trigger Restore With Rehydration
Sample request
POST https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/testInstance1/restore?api-version=2026-07-01
{
"objectType": "AzureBackupRestoreWithRehydrationRequest",
"recoveryPointId": "hardcodedRP",
"rehydrationPriority": "High",
"rehydrationRetentionDuration": "7D",
"restoreTargetInfo": {
"datasourceInfo": {
"datasourceType": "OssDB",
"objectType": "Datasource",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
"resourceLocation": "",
"resourceName": "testdb",
"resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"resourceUri": ""
},
"datasourceSetInfo": {
"datasourceType": "OssDB",
"objectType": "DatasourceSet",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
"resourceLocation": "",
"resourceName": "viveksipgtest",
"resourceType": "Microsoft.DBforPostgreSQL/servers",
"resourceUri": ""
},
"objectType": "RestoreTargetInfo",
"recoveryOption": "FailIfExists",
"restoreLocation": "southeastasia"
},
"sourceDataStoreType": "VaultStore",
"sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"
}
import com.azure.resourcemanager.dataprotection.models.AzureBackupRestoreWithRehydrationRequest;
import com.azure.resourcemanager.dataprotection.models.Datasource;
import com.azure.resourcemanager.dataprotection.models.DatasourceSet;
import com.azure.resourcemanager.dataprotection.models.RecoveryOption;
import com.azure.resourcemanager.dataprotection.models.RehydrationPriority;
import com.azure.resourcemanager.dataprotection.models.RestoreTargetInfo;
import com.azure.resourcemanager.dataprotection.models.SourceDataStoreType;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for BackupInstances TriggerRestore.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithRehydration.json
*/
/**
* Sample code: Trigger Restore With Rehydration.
*
* @param manager Entry point to DataProtectionManager.
*/
public static void
triggerRestoreWithRehydration(com.azure.resourcemanager.dataprotection.DataProtectionManager manager) {
manager.backupInstances().triggerRestore("000pikumar", "PratikPrivatePreviewVault1", "testInstance1",
new AzureBackupRestoreWithRehydrationRequest().withRestoreTargetInfo(new RestoreTargetInfo()
.withRecoveryOption(RecoveryOption.FAIL_IF_EXISTS).withRestoreLocation("southeastasia")
.withDatasourceInfo(new Datasource().withDatasourceType("OssDB").withObjectType("Datasource")
.withResourceId(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb")
.withResourceLocation("").withResourceName("testdb")
.withResourceType("Microsoft.DBforPostgreSQL/servers/databases").withResourceUri(""))
.withDatasourceSetInfo(new DatasourceSet().withDatasourceType("OssDB").withObjectType("DatasourceSet")
.withResourceId(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest")
.withResourceLocation("").withResourceName("viveksipgtest")
.withResourceType("Microsoft.DBforPostgreSQL/servers").withResourceUri("")))
.withSourceDataStoreType(SourceDataStoreType.VAULT_STORE)
.withSourceResourceId(
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb")
.withRecoveryPointId("hardcodedRP").withRehydrationPriority(RehydrationPriority.HIGH)
.withRehydrationRetentionDuration("7D"),
com.azure.core.util.Context.NONE);
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.dataprotection import DataProtectionMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-dataprotection
# USAGE
python trigger_restore_with_rehydration.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = DataProtectionMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.backup_instances.begin_trigger_restore(
resource_group_name="000pikumar",
vault_name="PratikPrivatePreviewVault1",
backup_instance_name="testInstance1",
parameters={
"objectType": "AzureBackupRestoreWithRehydrationRequest",
"recoveryPointId": "hardcodedRP",
"rehydrationPriority": "High",
"rehydrationRetentionDuration": "7D",
"restoreTargetInfo": {
"datasourceInfo": {
"datasourceType": "OssDB",
"objectType": "Datasource",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
"resourceLocation": "",
"resourceName": "testdb",
"resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
"resourceUri": "",
},
"datasourceSetInfo": {
"datasourceType": "OssDB",
"objectType": "DatasourceSet",
"resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
"resourceLocation": "",
"resourceName": "viveksipgtest",
"resourceType": "Microsoft.DBforPostgreSQL/servers",
"resourceUri": "",
},
"objectType": "RestoreTargetInfo",
"recoveryOption": "FailIfExists",
"restoreLocation": "southeastasia",
},
"sourceDataStoreType": "VaultStore",
"sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithRehydration.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armdataprotection_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dataprotection/armdataprotection/v4"
)
// Generated from example definition: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithRehydration.json
func ExampleBackupInstancesClient_BeginTriggerRestore_triggerRestoreWithRehydration() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdataprotection.NewClientFactory("04cf684a-d41f-4550-9f70-7708a3a2283b", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBackupInstancesClient().BeginTriggerRestore(ctx, "000pikumar", "PratikPrivatePreviewVault1", "testInstance1", &armdataprotection.AzureBackupRestoreWithRehydrationRequest{
ObjectType: to.Ptr("AzureBackupRestoreWithRehydrationRequest"),
RecoveryPointID: to.Ptr("hardcodedRP"),
RehydrationPriority: to.Ptr(armdataprotection.RehydrationPriorityHigh),
RehydrationRetentionDuration: to.Ptr("7D"),
RestoreTargetInfo: &armdataprotection.RestoreTargetInfo{
DatasourceInfo: &armdataprotection.Datasource{
DatasourceType: to.Ptr("OssDB"),
ObjectType: to.Ptr("Datasource"),
ResourceID: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"),
ResourceLocation: to.Ptr(""),
ResourceName: to.Ptr("testdb"),
ResourceType: to.Ptr("Microsoft.DBforPostgreSQL/servers/databases"),
ResourceURI: to.Ptr(""),
},
DatasourceSetInfo: &armdataprotection.DatasourceSet{
DatasourceType: to.Ptr("OssDB"),
ObjectType: to.Ptr("DatasourceSet"),
ResourceID: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest"),
ResourceLocation: to.Ptr(""),
ResourceName: to.Ptr("viveksipgtest"),
ResourceType: to.Ptr("Microsoft.DBforPostgreSQL/servers"),
ResourceURI: to.Ptr(""),
},
ObjectType: to.Ptr("RestoreTargetInfo"),
RecoveryOption: to.Ptr(armdataprotection.RecoveryOptionFailIfExists),
RestoreLocation: to.Ptr("southeastasia"),
},
SourceDataStoreType: to.Ptr(armdataprotection.SourceDataStoreTypeVaultStore),
SourceResourceID: to.Ptr("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"),
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armdataprotection.BackupInstancesClientTriggerRestoreResponse{
// OperationJobExtendedInfo: armdataprotection.OperationJobExtendedInfo{
// JobID: to.Ptr("c60cb49-63e8-4b21-b9bd-26277b3fdfae"),
// ObjectType: to.Ptr("OperationJobExtendedInfo"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { DataProtectionClient } = require("@azure/arm-dataprotection");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to triggers restore for a BackupInstance
*
* @summary triggers restore for a BackupInstance
* x-ms-original-file: 2026-07-01/BackupInstanceOperations/TriggerRestoreWithRehydration.json
*/
async function triggerRestoreWithRehydration() {
const credential = new DefaultAzureCredential();
const subscriptionId = "04cf684a-d41f-4550-9f70-7708a3a2283b";
const client = new DataProtectionClient(credential, subscriptionId);
const result = await client.backupInstances.triggerRestore(
"000pikumar",
"PratikPrivatePreviewVault1",
"testInstance1",
{
objectType: "AzureBackupRestoreWithRehydrationRequest",
recoveryPointId: "hardcodedRP",
rehydrationPriority: "High",
rehydrationRetentionDuration: "7D",
restoreTargetInfo: {
datasourceInfo: {
datasourceType: "OssDB",
objectType: "Datasource",
resourceID:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
resourceLocation: "",
resourceName: "testdb",
resourceType: "Microsoft.DBforPostgreSQL/servers/databases",
resourceUri: "",
},
datasourceSetInfo: {
datasourceType: "OssDB",
objectType: "DatasourceSet",
resourceID:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
resourceLocation: "",
resourceName: "viveksipgtest",
resourceType: "Microsoft.DBforPostgreSQL/servers",
resourceUri: "",
},
objectType: "RestoreTargetInfo",
recoveryOption: "FailIfExists",
restoreLocation: "southeastasia",
},
sourceDataStoreType: "VaultStore",
sourceResourceId:
"/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
"objectType": "OperationJobExtendedInfo"
}
Azure-AsyncOperation: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Location: https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2026-07-01
Retry-After: 60
Definitions
AzureBackupRecoveryPointBasedRestoreRequest
Object
Azure backup recoveryPoint based restore request
| 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
Object
AzureBackup RecoveryPointTime Based Restore Request
| 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
Object
AzureBackup Restore with Rehydration Request
| 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.
|
CloudError
Object
An error response from Azure Backup.
| Name |
Type |
Description |
|
error
|
Error
|
The resource management error response.
|
Datasource
Object
Datasource to be backed up
| 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
Object
DatasourceSet details of datasource to be backed up
| 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
Object
Default source properties
Error
Object
The resource management error response.
| Name |
Type |
Description |
|
additionalInfo
|
ErrorAdditionalInfo[]
|
The error additional info.
|
|
code
|
string
|
The error code.
|
|
details
|
Error[]
|
The error details.
|
|
message
|
string
|
The error message.
|
|
target
|
string
|
The error target.
|
ErrorAdditionalInfo
Object
The resource management error additional info.
| Name |
Type |
Description |
|
info
|
object
|
The additional info.
|
|
type
|
string
|
The additional info type.
|
ExistingResourcePolicy
Enumeration
Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore.
| Value |
Description |
|
Skip
|
|
|
Patch
|
|
GenericRestoreDatasourceCriteria
Object
Generic criteria to be used during restore
IdentityDetails
Object
| Name |
Type |
Description |
|
useSystemAssignedIdentity
|
boolean
|
Specifies if the BI is protected by System Identity.
|
|
userAssignedIdentityArmUrl
|
string
|
ARM URL for User Assigned Identity.
|
ItemLevelRestoreTargetInfo
Object
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
|
Information of target DS
|
|
datasourceSetInfo
|
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
Object
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
|
|
renameTo
|
string
|
Rename the item to be restored. Restore will rename the itemPath to this new name if the value is specified otherwise the itemPath will be restored as same name.
|
|
subItemPathPrefix
|
string[]
|
The list of prefix strings to be used as filter criteria during restore. These are relative to the item path specified.
|
KubernetesClusterRestoreCriteria
Object
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
|
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
Object
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
|
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
(arm-id)
|
Gets or sets the staging RG Id for creating staging disks and snapshots during restore from vault.
|
|
stagingStorageAccountId
|
string
(arm-id)
|
Gets or sets the staging Storage Account Id for creating backup extension object store data during restore from vault.
|
KubernetesPVRestoreCriteria
Object
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
Object
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
Object
Class to refer resources which contains namespace and name
| Name |
Type |
Description |
|
name
|
string
|
Name of the resource
|
|
namespace
|
string
|
Namespace in which the resource exists
|
OperationJobExtendedInfo
Object
Operation Job Extended Info
| 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
Enumeration
Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored.
| Value |
Description |
|
RestoreWithVolumeData
|
|
|
RestoreWithoutVolumeData
|
|
RangeBasedItemLevelRestoreCriteria
Object
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
Enumeration
Recovery Option
| Value |
Description |
|
FailIfExists
|
|
RehydrationPriority
Enumeration
Priority to be used for rehydration. Values High or Standard
| Value |
Description |
|
Invalid
|
|
|
High
|
|
|
Standard
|
|
ResourceListSelectionCriteria
Object
Specifies the list of resources to be restored
| Name |
Type |
Description |
|
objectType
|
string
|
Type of the specific object - used for deserializing
|
|
resourceIdentifiers
|
string[]
|
List of resource identifiers to restore from
|
|
resourceNameOverrides
|
object
|
This is a map of source resource names to target resources names to restore into. Any source name not included in the map will be restored with a default naming format
|
ResourcePropertiesObjectType
Enumeration
Type of the specific object - used for deserializing
| Value |
Description |
|
DefaultResourceProperties
|
|
RestoreFilesTargetInfo
Object
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
Object
Class encapsulating restore target parameters
| Name |
Type |
Description |
|
datasourceAuthCredentials
|
AuthCredentials:
SecretStoreBasedAuthCredentials
|
Credentials to use to authenticate with data source provider.
|
|
datasourceInfo
|
Datasource
|
Information of target DS
|
|
datasourceSetInfo
|
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
Enumeration
Denotes the target location where the data will be restored,
string value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}
| Value |
Description |
|
Invalid
|
|
|
AzureBlobs
|
|
|
AzureFiles
|
|
SecretStoreBasedAuthCredentials
Object
Secret store based authentication credentials.
SecretStoreResource
Object
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
Enumeration
Gets or sets the type of secret store
| Value |
Description |
|
Invalid
|
|
|
AzureKeyVault
|
|
SourceDataStoreType
Enumeration
Gets or sets the type of the source data store.
| Value |
Description |
|
ArchiveStore
|
|
|
SnapshotStore
|
|
|
OperationalStore
|
|
|
VaultStore
|
|
TargetDetails
Object
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
|