Skip to content

Commit 0f75198

Browse files
authored
Revert "[RecoveryServices.Backup] Added support for enabling Disk access sett…" (#25674)
This reverts commit 876e048.
1 parent 876e048 commit 0f75198

File tree

8 files changed

+9
-132
lines changed

8 files changed

+9
-132
lines changed

src/RecoveryServices/RecoveryServices.Backup.Helpers/Conversions/RecoveryPointConversions.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,6 @@ public static RecoveryPointBase GetPSAzureVMRecoveryPoint(
367367
Zones = recoveryPoint.Zones,
368368
RehydrationExpiryTime = (DateTime?)null,
369369
ExtendedLocation = recoveryPoint.ExtendedLocation,
370-
IsPrivateAccessEnabledOnAnyDisk = recoveryPoint.IsPrivateAccessEnabledOnAnyDisk
371370
};
372371

373372
if (recoveryPoint.RecoveryPointTierDetails != null)

src/RecoveryServices/RecoveryServices.Backup.Models/AzureVmModels/AzureVmRecoveryPoint.cs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class AzureVmRecoveryPoint : AzureRecoveryPoint
4242
/// Identifies whether this recovery point represents
4343
/// an encrypted VM at the time of backup.
4444
/// </summary>
45-
public bool EncryptionEnabled { get; set; }
45+
public bool EncryptionEnabled { get; set; }
4646

4747
/// <summary>
4848
/// Identifies whether an ILR session is already active
@@ -93,12 +93,6 @@ public class AzureVmRecoveryPoint : AzureRecoveryPoint
9393
/// </summary>
9494
public ExtendedLocation ExtendedLocation { get; set; }
9595

96-
/// <summary>
97-
/// Identifies whether any of the disks in the VM are using
98-
/// Private access network setting
99-
/// </summary>
100-
public bool? IsPrivateAccessEnabledOnAnyDisk { get; set; }
101-
10296
public AzureVmRecoveryPoint()
10397
{
10498

src/RecoveryServices/RecoveryServices.Backup.Models/CmdletParamEnums.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,7 @@ public enum RestoreVMBackupItemParams
8585
TargetVNetResourceGroup,
8686
TargetSubnetName,
8787
TargetSubscriptionId,
88-
RestoreToEdgeZone,
89-
DiskAccessOption,
90-
TargetDiskAccessId
88+
RestoreToEdgeZone
9189
}
9290

9391
public enum RestoreFSBackupItemParams

src/RecoveryServices/RecoveryServices.Backup.Providers/Providers/IaasVmPsBackupProvider.cs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -507,8 +507,7 @@ public RestAzureNS.AzureOperationResponse TriggerRestore()
507507
bool restoreToEdgeZone = (bool)ProviderData[RestoreVMBackupItemParams.RestoreToEdgeZone];
508508
string auxiliaryAccessToken = ProviderData.ContainsKey(ResourceGuardParams.Token) ? (string)ProviderData[ResourceGuardParams.Token] : null;
509509
bool isMUAOperation = ProviderData.ContainsKey(ResourceGuardParams.IsMUAOperation) ? (bool)ProviderData[ResourceGuardParams.IsMUAOperation] : false;
510-
ServiceClientModel.TargetDiskNetworkAccessOption? diskAccessOption = ProviderData.ContainsKey(RestoreVMBackupItemParams.DiskAccessOption) ? (ServiceClientModel.TargetDiskNetworkAccessOption?)ProviderData[RestoreVMBackupItemParams.DiskAccessOption] : null;
511-
string targetDiskAccessId = ProviderData.ContainsKey(RestoreVMBackupItemParams.TargetDiskAccessId) ? (string)ProviderData[RestoreVMBackupItemParams.TargetDiskAccessId] : null;
510+
512511

513512
Dictionary<UriEnums, string> uriDict = HelperUtils.ParseUri(rp.Id);
514513
string containerUri = HelperUtils.GetContainerUri(uriDict, rp.Id);
@@ -630,17 +629,6 @@ public RestAzureNS.AzureOperationResponse TriggerRestore()
630629
restoreRequest.ExtendedLocation = rp.ExtendedLocation;
631630
}
632631

633-
if (diskAccessOption != null)
634-
{
635-
restoreRequest.TargetDiskNetworkAccessSettings = new TargetDiskNetworkAccessSettings();
636-
restoreRequest.TargetDiskNetworkAccessSettings.TargetDiskNetworkAccessOption = diskAccessOption;
637-
638-
if(!string.IsNullOrEmpty(targetDiskAccessId))
639-
{
640-
restoreRequest.TargetDiskNetworkAccessSettings.TargetDiskAccessId = targetDiskAccessId;
641-
}
642-
}
643-
644632
if (restoreType == "OriginalLocation") // replace existing
645633
{
646634
restoreRequest.RecoveryType = RecoveryType.OriginalLocation;

src/RecoveryServices/RecoveryServices.Backup/Cmdlets/Restore/RestoreAzureRMRecoveryServicesBackupItem.cs

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -328,19 +328,6 @@ public class RestoreAzureRmRecoveryServicesBackupItem : RSBackupVaultCmdletBase
328328
[Parameter(Mandatory = false, HelpMessage = ParamHelpMsgs.ResourceGuard.AuxiliaryAccessToken, ValueFromPipeline = false)]
329329
public string Token;
330330

331-
[Parameter(Mandatory = false, ParameterSetName = AzureManagedVMCreateNewParameterSet,
332-
HelpMessage = ParamHelpMsgs.RestoreVM.DiskAccessOption)]
333-
[Parameter(Mandatory = false, ParameterSetName = AzureManagedVMReplaceExistingParameterSet,
334-
HelpMessage = ParamHelpMsgs.RestoreVM.DiskAccessOption)]
335-
public ServiceClientModel.TargetDiskNetworkAccessOption? DiskAccessOption { get; set; }
336-
337-
[Parameter(Mandatory = false, ParameterSetName = AzureManagedVMCreateNewParameterSet,
338-
HelpMessage = ParamHelpMsgs.RestoreVM.TargetDiskAccessId)]
339-
[Parameter(Mandatory = false, ParameterSetName = AzureManagedVMReplaceExistingParameterSet,
340-
HelpMessage = ParamHelpMsgs.RestoreVM.TargetDiskAccessId)]
341-
[ValidatePattern(@"^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Compute/diskAccesses/[^/]+$")]
342-
public string TargetDiskAccessId { get; set; }
343-
344331
public override void ExecuteCmdlet()
345332
{
346333
ExecutionBlock(() =>
@@ -443,43 +430,6 @@ public override void ExecuteCmdlet()
443430
}
444431
}
445432

446-
if (DiskAccessOption != null)
447-
{
448-
AzureVmRecoveryPoint rp = (AzureVmRecoveryPoint)RecoveryPoint;
449-
if (!(bool)rp.IsPrivateAccessEnabledOnAnyDisk)
450-
{
451-
throw new ArgumentException("DiskAccessOption parameter can't be provided since private access is not enabled in given recovery point");
452-
}
453-
454-
if (DiskAccessOption == ServiceClientModel.TargetDiskNetworkAccessOption.EnablePrivateAccessForAllDisks)
455-
{
456-
if (string.IsNullOrEmpty(TargetDiskAccessId))
457-
{
458-
throw new ArgumentException("TargetDiskAccessId must be provided when DiskAccessOption is set to EnablePrivateAccessForAllDisks.");
459-
}
460-
}
461-
else if (RestoreToSecondaryRegion.IsPresent && DiskAccessOption == ServiceClientModel.TargetDiskNetworkAccessOption.SameAsOnSourceDisks)
462-
{
463-
throw new ArgumentException("Given DiskAccessOption isn't applicable to cross region restore");
464-
}
465-
else if (!string.IsNullOrEmpty(TargetDiskAccessId))
466-
{
467-
throw new ArgumentException("TargetDiskAccessId can't be provided for the given DiskAccessOption.");
468-
}
469-
470-
providerParameters.Add(RestoreVMBackupItemParams.DiskAccessOption, DiskAccessOption);
471-
providerParameters.Add(RestoreVMBackupItemParams.TargetDiskAccessId, TargetDiskAccessId);
472-
}
473-
else if (string.Equals(this.ParameterSetName, AzureManagedVMCreateNewParameterSet, StringComparison.Ordinal) ||
474-
string.Equals(this.ParameterSetName, AzureManagedVMReplaceExistingParameterSet, StringComparison.Ordinal))
475-
{
476-
AzureVmRecoveryPoint rp = (AzureVmRecoveryPoint)RecoveryPoint;
477-
if ((bool)rp.IsPrivateAccessEnabledOnAnyDisk)
478-
{
479-
throw new ArgumentException("DiskAccessOption parameter must be provided since private access is enabled in given recovery point");
480-
}
481-
}
482-
483433
if (TargetZoneNumber != null)
484434
{
485435
// get storage type

src/RecoveryServices/RecoveryServices.Backup/ParamHelpMsgs.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,6 @@ internal static class RestoreVM
181181
public const string TargetVNetResourceGroup = "Name of the resource group which contains the target VNet, in the case of Alternate Location restore to a new VM";
182182
public const string TargetSubnetName = "Name of the subnet in which the target VM should be created, in the case of Alternate Location restore to a new VM";
183183
public const string TargetSubscriptionId = "ID of the target subscription to which the resource should be restored. Use this parameter for Cross subscription restore";
184-
public const string DiskAccessOption = "Specifies the disk access option for target disks";
185-
public const string TargetDiskAccessId = "Specifies the target disk access ID when DiskAccessOption set to EnablePrivateAccessForAllDisks";
186184
}
187185

188186
internal static class RestoreFS

src/RecoveryServices/RecoveryServices/ChangeLog.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21-
* Added support for enabling Disk access settings for managed VM restores.
2221

2322
## Version 7.0.0
24-
* [Breaking Change] Renamed the property `ResouceType` of `ASRVaultSettings` to `ResourceType`.
23+
* [Breaking Change] Renamed the property `ResouceType` of `ASRVaultSettings` to `ResourceType`.
2524

2625
## Version 6.9.0
2726
* Added support for MUA for disabling vault Immutability, increasing RPO for policy schedule, restore, stop protection with retain data.

src/RecoveryServices/RecoveryServices/help/Restore-AzRecoveryServicesBackupItem.md

Lines changed: 5 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ Restore-AzRecoveryServicesBackupItem [-VaultLocation <String>] [-RecoveryPoint]
2121
[-StorageAccountName] <String> [-StorageAccountResourceGroupName] <String> [-RestoreOnlyOSDisk]
2222
[-RestoreDiskList <String[]>] [-DiskEncryptionSetId <String>] [-RestoreToSecondaryRegion]
2323
[-TargetZoneNumber <Int32>] [-RehydratePriority <String>] [-UseSystemAssignedIdentity]
24-
[-UserAssignedIdentityId <String>] [-DiskAccessOption <TargetDiskNetworkAccessOption>]
25-
[-TargetDiskAccessId <String>] [-VaultId <String>] [-DefaultProfile <IAzureContextContainer>]
24+
[-UserAssignedIdentityId <String>] [-VaultId <String>] [-DefaultProfile <IAzureContextContainer>]
2625
[-RehydrateDuration <String>] [-Token <String>] [-WhatIf] [-Confirm]
2726
[<CommonParameters>]
2827
```
@@ -55,9 +54,9 @@ Restore-AzRecoveryServicesBackupItem [-VaultLocation <String>] [-RecoveryPoint]
5554
[-TargetZoneNumber <Int32>] [-RehydratePriority <String>] [-UseSystemAssignedIdentity]
5655
[-UserAssignedIdentityId <String>] [-TargetVMName <String>] [-TargetVNetName <String>]
5756
[-TargetVNetResourceGroup <String>] [-TargetSubnetName <String>] [-TargetSubscriptionId <String>]
58-
[-RestoreToEdgeZone] [-DiskAccessOption <TargetDiskNetworkAccessOption>] [-TargetDiskAccessId <String>]
59-
[-VaultId <String>] [-DefaultProfile <IAzureContextContainer>] [-RehydrateDuration <String>] [-Token <String>]
60-
[-WhatIf] [-Confirm] [<CommonParameters>]
57+
[-RestoreToEdgeZone] [-VaultId <String>] [-DefaultProfile <IAzureContextContainer>]
58+
[-RehydrateDuration <String>] [-Token <String>] [-WhatIf] [-Confirm]
59+
[<CommonParameters>]
6160
```
6261

6362
### AzureVMUnManagedDiskParameterSet
@@ -147,7 +146,7 @@ $BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -
147146
$StartDate = (Get-Date).AddDays(-7)
148147
$EndDate = Get-Date
149148
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
150-
$AlternateLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -TargetResourceGroupName "Target_RG" -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -TargetVMName "TagetVirtualMachineName" -TargetVNetName "Target_VNet" -TargetVNetResourceGroup "Target_VNet_RG" -TargetSubnetName "subnetName" -VaultId $vault.ID -VaultLocation $vault.Location
149+
$AlternateLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -TargetResourceGroupName "Target_RG" -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -TargetVMName "TagetVirtualMachineName" -TargetVNetName "Target_VNet" -TargetVNetResourceGroup "" -TargetSubnetName "subnetName" -VaultId $vault.ID -VaultLocation $vault.Location
151150
$OriginalLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -VaultId $vault.ID -VaultLocation $vault.Location
152151
```
153152

@@ -330,23 +329,6 @@ $restoreJob = Restore-AzRecoveryServicesBackupItem -VaultId $vault.ID -VaultLoca
330329

331330
In this example, we use RestoreToEdgeZone parameter to trigger a restore to new edge zone vm in alternate location. For Original location restore (OLR), restore will implicitly be an edge zone restore if the source VM is an edge zone VM.
332331

333-
### Example 12: Restore a Managed AzureVM using DiskAccessOption
334-
335-
```powershell
336-
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
337-
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
338-
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -VaultId $vault.ID -Item $item
339-
$AlternateLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -TargetResourceGroupName "Target_RG" -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -TargetVMName "TagetVirtualMachineName" -TargetVNetName "Target_VNet" -TargetVNetResourceGroup "Target_VNet_RG" -TargetSubnetName "subnetName" -VaultId $vault.ID -VaultLocation $vault.Location -DiskAccessOption EnablePrivateAccessForAllDisks -TargetDiskAccessId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Compute/diskAccesses/target-diskaccess"
340-
```
341-
342-
```output
343-
WorkloadName Operation Status StartTime EndTime
344-
------------ --------- ------ --------- -------
345-
V2VM Restore InProgress 26-Jul-24 1:14:01 PM 01-Jan-01 12:00:00 AM
346-
```
347-
348-
In this example, we use DiskAccessOption parameter to trigger a restore to new VM with private access enabled for all disks. DiskAccessOption parameter can be used to specify the disk access option for target disks. The acceptable values for this parameter are: SameAsOnSourceDisks, EnablePrivateAccessForAllDisks, EnablePublicAccessForAllDisks. TargetDiskAccessId parameter is used to specify the disk access id for the target disks. This parameter is required when DiskAccessOption is set to EnablePrivateAccessForAllDisks.
349-
350332
## PARAMETERS
351333

352334
### -DefaultProfile
@@ -365,22 +347,6 @@ Accept pipeline input: False
365347
Accept wildcard characters: False
366348
```
367349
368-
### -DiskAccessOption
369-
Specifies the disk access option for target disks
370-
371-
```yaml
372-
Type: System.Nullable`1[Microsoft.Azure.Management.RecoveryServices.Backup.Models.TargetDiskNetworkAccessOption]
373-
Parameter Sets: AzureManagedVMReplaceExistingParameterSet, AzureManagedVMCreateNewParameterSet
374-
Aliases:
375-
Accepted values: SameAsOnSourceDisks, EnablePrivateAccessForAllDisks, EnablePublicAccessForAllDisks
376-
377-
Required: False
378-
Position: Named
379-
Default value: None
380-
Accept pipeline input: False
381-
Accept wildcard characters: False
382-
```
383-
384350
### -DiskEncryptionSetId
385351
386352
The DES ID to encrypt the restored disks.
@@ -645,21 +611,6 @@ Accept pipeline input: False
645611
Accept wildcard characters: False
646612
```
647613
648-
### -TargetDiskAccessId
649-
Specifies the target disk access ID when DiskAccessOption set to EnablePrivateAccessForAllDisks
650-
651-
```yaml
652-
Type: System.String
653-
Parameter Sets: AzureManagedVMReplaceExistingParameterSet, AzureManagedVMCreateNewParameterSet
654-
Aliases:
655-
656-
Required: False
657-
Position: Named
658-
Default value: None
659-
Accept pipeline input: False
660-
Accept wildcard characters: False
661-
```
662-
663614
### -TargetFileShareName
664615
665616
The File Share to which the file share has to be restored to.

0 commit comments

Comments
 (0)