public string BackupProtectedItem(string rsVaultRgName, string rsVaultName, string containerUri, string protectedItemUri) { string fabricName = CommonTestHelper.GetSetting(TestConstants.ProviderTypeAzureIaasVM); TriggerBackupRequest backupRequest = new TriggerBackupRequest(); backupRequest.Item = new BackupRequestResource(); IaaSVMBackupRequest iaasVmBackupRequest = new IaaSVMBackupRequest(); iaasVmBackupRequest.RecoveryPointExpiryTimeInUTC = DateTime.UtcNow.AddDays(2); backupRequest.Item.Properties = iaasVmBackupRequest; var response = Client.Backups.TriggerBackup(rsVaultRgName, rsVaultName, CommonTestHelper.GetCustomRequestHeaders(), fabricName, containerUri, protectedItemUri, backupRequest); Assert.NotNull(response); Assert.Equal(HttpStatusCode.Accepted, response.StatusCode); Assert.NotNull(response.Location); Assert.NotNull(response.AzureAsyncOperation); Assert.NotNull(response.RetryAfter); var operationResponse = Client.ProtectedItems.GetProtectedItemOperationResultByURLAsync(response.Location, CommonTestHelper.GetCustomRequestHeaders()); while (operationResponse.Result.StatusCode == HttpStatusCode.Accepted) { if (HttpMockServer.Mode == HttpRecorderMode.Record) { System.Threading.Thread.Sleep(5 * 1000); } operationResponse = Client.ProtectedItems.GetProtectedItemOperationResultByURLAsync(response.Location, CommonTestHelper.GetCustomRequestHeaders()); } var operationStatusResponse = Client.GetOperationStatusByURLAsync(response.AzureAsyncOperation, CommonTestHelper.GetCustomRequestHeaders()); var operationJobResponse = (OperationStatusJobExtendedInfo)operationStatusResponse.Result.OperationStatus.Properties; Assert.NotNull(operationJobResponse.JobId); return operationJobResponse.JobId; }
/// <summary> /// Triggers backup on the specified item /// </summary> /// <param name="containerName">Name of the container which this item belongs to</param> /// <param name="itemName">Name of the item</param> /// <returns>Job created by this operation</returns> public BaseRecoveryServicesJobResponse TriggerBackup( string containerName, string itemName, DateTime? expiryDateTimeUtc) { TriggerBackupRequest triggerBackupRequest = new TriggerBackupRequest(); triggerBackupRequest.Item = new BackupRequestResource(); IaaSVMBackupRequest iaasVmBackupRequest = new IaaSVMBackupRequest(); iaasVmBackupRequest.RecoveryPointExpiryTimeInUTC = expiryDateTimeUtc; triggerBackupRequest.Item.Properties = iaasVmBackupRequest; return BmsAdapter.Client.Backups.TriggerBackupAsync( BmsAdapter.GetResourceGroupName(), BmsAdapter.GetResourceName(), BmsAdapter.GetCustomRequestHeaders(), ServiceClientAdapter.AzureFabricName, containerName, itemName, triggerBackupRequest, BmsAdapter.CmdletCancellationToken).Result; }