@@ -797,4 +797,97 @@ function Test-UpdateRPIWithDiskEncryptionSetMap
797
797
Set-AsrReplicationProtectedItem - InputObject $rpi - DiskIdToDiskEncryptionSetMap $diskEncryptionSetMap
798
798
$rpi = Get-AsrReplicationProtectedItem - ProtectionContainer $pc - FriendlyName $VMFriendlyName
799
799
Assert-NotNull ($rpi.ProviderSpecificDetails.AzureVMDiskDetails [0 ].DiskEncryptionSetId)
800
+ }
801
+
802
+ <#
803
+ . SYNOPSIS
804
+ Site Recovery Create RPI with ProximityPlacementGroup
805
+ #>
806
+ function Test-CreateRPIWithProximityPlacementGroup
807
+ {
808
+ param ([string ] $vaultSettingsFilePath )
809
+
810
+ # Import Azure RecoveryServices Vault Settings File
811
+ Import-AzRecoveryServicesAsrVaultSettingsFile - Path $vaultSettingsFilePath
812
+ $PrimaryFabricName = " H2ASite"
813
+ $fabric = Get-AsrFabric - FriendlyName $PrimaryFabricName
814
+ $pc = Get-ASRProtectionContainer - Fabric $fabric
815
+ $pcm = Get-ASRProtectionContainerMapping - ProtectionContainer $pc
816
+ $policyName = " b2apolicy"
817
+ $policy = Get-AzRecoveryServicesAsrPolicy - Name $policyName
818
+ $VMFriendlyName = " A020-VJ-Dum1"
819
+ $VM = Get-AsrProtectableItem - ProtectionContainer $pc - FriendlyName $VMFriendlyName
820
+ $ResourceGroupId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/h2arg"
821
+ $LogStorageAccountId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/h2arg/providers/Microsoft.Storage/storageAccounts/hrasa"
822
+ $ppg = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/h2arg/providers/Microsoft.Compute/proximityPlacementGroups/ppgh2a"
823
+ $EnableDRjob = New-AsrReplicationProtectedItem - ProtectableItem $VM - Name $VM.Name - ProtectionContainerMapping $pcm - RecoveryAzureStorageAccountId $LogStorageAccountId - OSDiskName $ ($VMFriendlyName + " disk" ) - OS Windows - RecoveryResourceGroupId $ResourceGroupId - RecoveryProximityPlacementGroupId $ppg
824
+ }
825
+
826
+ <#
827
+ . SYNOPSIS
828
+ Site Recovery Update RPI with ProximityPlacementGroup
829
+ #>
830
+ function Test-UpdateRPIWithProximityPlacementGroup
831
+ {
832
+ param ([string ] $vaultSettingsFilePath )
833
+
834
+ # Import Azure RecoveryServices Vault Settings File
835
+ Import-AzRecoveryServicesAsrVaultSettingsFile - Path $vaultSettingsFilePath
836
+ $PrimaryFabricName = " H2ASite"
837
+ $fabric = Get-AsrFabric - FriendlyName $PrimaryFabricName
838
+ $pc = Get-ASRProtectionContainer - Fabric $fabric
839
+ $policyName = " b2apolicy"
840
+ $policy = Get-AzRecoveryServicesAsrPolicy - Name $policyName
841
+ $VMFriendlyName = " A020-VJ-Dum1"
842
+ $rpi = Get-AsrReplicationProtectedItem - ProtectionContainer $pc - FriendlyName $VMFriendlyName
843
+ $ppgSet = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/h2arg/providers/Microsoft.Compute/proximityPlacementGroups/ppgh2aset"
844
+ Set-AsrReplicationProtectedItem - InputObject $rpi - RecoveryProximityPlacementGroupId $ppgSet
845
+ $rpi = Get-AsrReplicationProtectedItem - ProtectionContainer $pc - FriendlyName $VMFriendlyName
846
+ Assert-NotNull ($rpi.ProviderSpecificDetails.RecoveryProximityPlacementGroupId )
847
+ }
848
+
849
+ <#
850
+ . SYNOPSIS
851
+ Site Recovery Create RPI with AvailabilityZone
852
+ #>
853
+ function Test-CreateRPIWithAvailabilityZone
854
+ {
855
+ param ([string ] $vaultSettingsFilePath )
856
+
857
+ Import-AzRecoveryServicesAsrVaultSettingsFile - Path $vaultSettingsFilePath
858
+ $PrimaryFabricName = " H2ASite"
859
+ $fabric = Get-AsrFabric - FriendlyName $PrimaryFabricName
860
+ $pc = Get-ASRProtectionContainer - Fabric $fabric
861
+ $pcm = Get-ASRProtectionContainerMapping - ProtectionContainer $pc
862
+ $policyName = " b2apolicy"
863
+ $policy = Get-AzRecoveryServicesAsrPolicy - Name $policyName
864
+ $VMFriendlyName = " A020-VJ-Dum2"
865
+ $VM = Get-AsrProtectableItem - ProtectionContainer $pc - FriendlyName $VMFriendlyName
866
+ $ResourceGroupId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/h2arg"
867
+ $LogStorageAccountId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/h2arg/providers/Microsoft.Storage/storageAccounts/hrasa"
868
+ $avZone = " 1"
869
+ $EnableDRjob = New-AsrReplicationProtectedItem - ProtectableItem $VM - Name $VM.Name - ProtectionContainerMapping $pcm - RecoveryAzureStorageAccountId $LogStorageAccountId - OSDiskName $ ($VMFriendlyName + " disk" ) - OS Windows - RecoveryResourceGroupId $ResourceGroupId - RecoveryAvailabilityZone $avZone
870
+ }
871
+
872
+ <#
873
+ . SYNOPSIS
874
+ Site Recovery Update RPI with AvailabilityZone
875
+ #>
876
+ function Test-UpdateRPIWithAvailabilityZone
877
+ {
878
+ param ([string ] $vaultSettingsFilePath )
879
+
880
+ # Import Azure RecoveryServices Vault Settings File
881
+ Import-AzRecoveryServicesAsrVaultSettingsFile - Path $vaultSettingsFilePath
882
+ $PrimaryFabricName = " H2ASite"
883
+ $fabric = Get-AsrFabric - FriendlyName $PrimaryFabricName
884
+ $pc = Get-ASRProtectionContainer - Fabric $fabric
885
+ $policyName = " b2apolicy"
886
+ $policy = Get-AzRecoveryServicesAsrPolicy - Name $policyName
887
+ $VMFriendlyName = " A020-VJ-Dum2"
888
+ $rpi = Get-AsrReplicationProtectedItem - ProtectionContainer $pc - FriendlyName $VMFriendlyName
889
+ $avZoneSet = " 2"
890
+ Set-AsrReplicationProtectedItem - InputObject $rpi - RecoveryAvailabilityZone $avZoneSet
891
+ $rpi = Get-AsrReplicationProtectedItem - ProtectionContainer $pc - FriendlyName $VMFriendlyName
892
+ Assert-NotNull ($rpi.ProviderSpecificDetails.RecoveryAvailabilityZone )
800
893
}
0 commit comments