|
12 | 12 | # limitations under the License. |
13 | 13 | # ---------------------------------------------------------------------------------- |
14 | 14 |
|
| 15 | +function Test-AzureVMRedoProtection |
| 16 | +{ |
| 17 | + $resourceGroupName = "hiagarg" |
| 18 | + $vaultName = "hiagaVault" |
| 19 | + $targetVaultName = "hiagaVault2" |
| 20 | + $vmContainerSuffix = "hiaga-adhoc-vm" |
| 21 | + $policyName = "DefaultPolicy" |
| 22 | + |
| 23 | + try |
| 24 | + { |
| 25 | + # Step 1: Move protection from hiagaVault to hiagaVault2 |
| 26 | + $vault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $vaultName |
| 27 | + $items = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -VaultId $vault.ID | Where-Object { $_.ContainerName.EndsWith($vmContainerSuffix) } |
| 28 | + $targetVault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $targetVaultName |
| 29 | + $policy = Get-AzRecoveryServicesBackupProtectionPolicy -Name $policyName -VaultId $targetVault.ID |
| 30 | + |
| 31 | + $redoJob = Redo-AzRecoveryServicesBackupProtection -Item $items[-1] -TargetVaultId $targetVault.ID -TargetPolicy $policy -VaultId $vault.ID -Force -Confirm:$false |
| 32 | + Assert-True { $redoJob.Status -eq "Completed" } |
| 33 | + |
| 34 | + # Step 2: Reverse - move protection back to hiagaVault |
| 35 | + $vault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $targetVaultName |
| 36 | + $targetVault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $vaultName |
| 37 | + $policy = Get-AzRecoveryServicesBackupProtectionPolicy -Name $policyName -VaultId $targetVault.ID |
| 38 | + $items = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -VaultId $vault.ID | Where-Object { $_.ContainerName.EndsWith($vmContainerSuffix) } |
| 39 | + |
| 40 | + $redoJob = Redo-AzRecoveryServicesBackupProtection -Item $items[-1] -TargetVaultId $targetVault.ID -TargetPolicy $policy -VaultId $vault.ID -Force -Confirm:$false |
| 41 | + Assert-True { $redoJob.Status -eq "Completed" } |
| 42 | + } |
| 43 | + finally |
| 44 | + { |
| 45 | + # Optional cleanup if needed |
| 46 | + } |
| 47 | +} |
| 48 | + |
15 | 49 | function Test-AzurePERestore |
16 | 50 | { |
17 | 51 | $subId = "f2edfd5d-5496-4683-b94f-b3588c579009" |
|
0 commit comments