Skip to content

Commit d8ba659

Browse files
Update GetAzureRmRecoveryServicesBackupSchedulePolicyObject to default the PolicySubType to Enhanced for AzureVM. (#27039)
* Set default policy for IaaSVM as enhanced policy * update Test-AzureVMEnhancedPolicyAsDefault * update in logic and readme * Update in readme
1 parent 9704192 commit d8ba659

File tree

6 files changed

+885
-10
lines changed

6 files changed

+885
-10
lines changed

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/IaasVm/PolicyTests.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,17 @@ public void TestAzureVMCrashconsistentPolicy()
8888
"Test-AzureVMCrashconsistentPolicy"
8989
);
9090
}
91+
92+
[Fact]
93+
[Trait(Category.AcceptanceType, Category.CheckIn)]
94+
[Trait(TestConstants.Workload, TestConstants.AzureVM)]
95+
public void TestAzureVMEnhancedPolicyAsDefaultPolicy()
96+
{
97+
TestRunner.RunTestScript(
98+
$"Import-Module {_IaasVmcommonModule.AsAbsoluteLocation()}",
99+
$"Import-Module {_IaasVmtestModule.AsAbsoluteLocation()}",
100+
"Test-AzureVMEnhancedPolicyAsDefault"
101+
);
102+
}
91103
}
92104
}

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/IaasVm/PolicyTests.ps1

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,4 +343,54 @@ function Test-AzureVMPolicy
343343
# Cleanup
344344
Cleanup-ResourceGroup $resourceGroupName
345345
}
346+
}
347+
348+
function Test-AzureVMEnhancedPolicyAsDefault
349+
{
350+
try
351+
{
352+
$resourceGroupName = "sgholapCZRTesting"
353+
$vaultName = "sgholapZRSTestingVault"
354+
$owner = "sgholap"
355+
$AzureVMPolicyName = "AzureVMPolicy"
356+
$AzureFilesPolicyName = "AzureFilesPolicy"
357+
358+
$vault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $vaultName
359+
360+
$azureVMSchedulePolicy = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureVM -BackupManagementType AzureVM -ScheduleRunFrequency Weekly
361+
Assert-NotNull $azureVMSchedulePolicy
362+
363+
$azureVMRetentionPolicy = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureVM -BackupManagementType AzureVM -ScheduleRunFrequency Weekly
364+
Assert-NotNull $azureVMRetentionPolicy
365+
366+
$azureVMPolicy = New-AzRecoveryServicesBackupProtectionPolicy -Name $AzureVMPolicyName -WorkloadType AzureVM -BackupManagementType AzureVM -RetentionPolicy $azureVMRetentionPolicy -SchedulePolicy $azureVMSchedulePolicy -VaultId $vault.ID
367+
368+
Assert-NotNull $azureVMPolicy
369+
Assert-AreEqual $azureVMPolicy.Name $AzureVMPolicyName
370+
# Default policy type for AzureVM should be Enhanced
371+
Assert-AreEqual $azureVMPolicy.PolicySubType "Enhanced"
372+
373+
$azureFilesSchedulePolicy = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles
374+
Assert-NotNull $azureVMSchedulePolicy
375+
376+
$azureFilesRetentionPolicy = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles
377+
Assert-NotNull $azureVMRetentionPolicy
378+
379+
$azureFilesPolicy = New-AzRecoveryServicesBackupProtectionPolicy -Name $AzureFilesPolicyName -WorkloadType AzureFiles -RetentionPolicy $azureFilesRetentionPolicy -SchedulePolicy $azureFilesSchedulePolicy -VaultId $vault.ID
380+
381+
Assert-NotNull $azureFilesPolicy
382+
Assert-AreEqual $azureFilesPolicy.Name $AzureFilesPolicyName
383+
# Default policy type for AzureFiles should be Standard
384+
Assert-AreNotEqual $azureFilesPolicy.PolicySubType "Enhanced"
385+
}
386+
finally
387+
{
388+
# Cleanup
389+
# Delete policy
390+
$policy = Get-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Name $AzureVMPolicyName
391+
Remove-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Policy $policy -Force
392+
393+
$policy = Get-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Name $AzureFilesPolicyName
394+
Remove-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Policy $policy -Force
395+
}
346396
}

0 commit comments

Comments
 (0)