Skip to content

Commit 84b03de

Browse files
authored
[Az.RecoveryServices.Backup] Workload Recovery config, disallowing target item to be an availability group (#13851)
* Recovery Config target item, blocking SQL availability group * working review comments
1 parent 0f291f6 commit 84b03de

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

src/RecoveryServices/RecoveryServices.Backup.Models/Properties/Resources.Designer.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
using Microsoft.Rest.Azure.OData;
2222
using System;
2323
using System.Collections.Generic;
24-
using System.IO;
2524
using System.Linq;
2625
using System.Management.Automation;
2726
using ServiceClientModel = Microsoft.Azure.Management.RecoveryServices.Backup.Models;
@@ -127,6 +126,16 @@ public override void ExecuteCmdlet()
127126
TimeSpan timeSpan = DateTime.UtcNow - new DateTime(1970, 1, 1);
128127
int offset = (int)timeSpan.TotalSeconds;
129128
string targetDb = "";
129+
130+
if (TargetItem != null)
131+
{
132+
if (!string.Equals(((AzureWorkloadProtectableItem)TargetItem).ProtectableItemType,
133+
ProtectableItemType.SQLInstance.ToString()))
134+
{
135+
throw new ArgumentException(string.Format(Resources.AzureWorkloadRestoreProtectableItemException));
136+
}
137+
}
138+
130139
if (ParameterSetName == RpParameterSet)
131140
{
132141
Dictionary<UriEnums, string> keyValueDict = HelperUtils.ParseUri(RecoveryPoint.Id);
@@ -145,12 +154,6 @@ public override void ExecuteCmdlet()
145154
}
146155
else if (AlternateWorkloadRestore.IsPresent && Item == null)
147156
{
148-
if (string.Compare(((AzureWorkloadProtectableItem)TargetItem).ProtectableItemType,
149-
ProtectableItemType.SQLInstance.ToString()) != 0)
150-
{
151-
throw new ArgumentException(string.Format(Resources.AzureWorkloadRestoreProtectableItemException));
152-
}
153-
154157
azureWorkloadRecoveryConfig.RestoredDBName =
155158
GetRestoredDBName(RecoveryPoint.ItemName, currentTime);
156159
azureWorkloadRecoveryConfig.OverwriteWLIfpresent = "No";
@@ -199,12 +202,6 @@ public override void ExecuteCmdlet()
199202
}
200203
else if (Item != null && TargetItem != null)
201204
{
202-
if (string.Compare(((AzureWorkloadProtectableItem)TargetItem).ProtectableItemType,
203-
ProtectableItemType.SQLDataBase.ToString()) == 0)
204-
{
205-
throw new ArgumentException(string.Format(Resources.AzureWorkloadRestoreProtectableItemException));
206-
}
207-
208205
azureWorkloadRecoveryConfig.RestoredDBName =
209206
GetRestoredDBName(Item.Name, currentTime);
210207
azureWorkloadRecoveryConfig.OverwriteWLIfpresent = "No";

src/RecoveryServices/RecoveryServices/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21+
* Blocked getting workload config when target item is an availability group.
2122

2223
## Version 3.2.0
2324
* Enabled softdelete feature for SQL.

0 commit comments

Comments
 (0)