Skip to content

Commit e3f94e1

Browse files
committed
Merge pull request #235 from MabOneSdk/pragrawa-dev1
Protection fixes
2 parents 2bc59e4 + da2ae72 commit e3f94e1

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Helpers/Utils.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,23 +53,22 @@ public static List<string> GetStringListFromEnumList<T>(IList<T> enumList)
5353
Dictionary<CmdletModel.UriEnums, string> keyValuePairDict = new Dictionary<CmdletModel.UriEnums, string>();
5454
if (!string.IsNullOrEmpty(id))
5555
{
56-
string pattern = @"/[a-zA-Z]*/[a-zA-Z0-9-;.]*";
57-
Regex reg = new Regex(pattern, RegexOptions.IgnoreCase);
56+
string idPattern = @"/[a-zA-Z]*/[a-zA-Z0-9-;.]*";
57+
string uriPattern = @"/";
58+
Regex reg = new Regex(idPattern, RegexOptions.IgnoreCase);
5859

5960
// Match the regular expression pattern against a uri string.
6061
Match match = reg.Match(id);
6162

6263
while (match.Success)
6364
{
64-
Console.WriteLine(match.Value);
65-
string pat = @"/";
66-
string[] keyValuePair = match.Value.Split(new string[] { pat }, StringSplitOptions.RemoveEmptyEntries);
65+
string[] keyValuePair = match.Value.Split(new string[] { uriPattern }, StringSplitOptions.RemoveEmptyEntries);
6766
CmdletModel.UriEnums key;
6867
CmdletModel.UriEnums value;
6968
if (keyValuePair.Length == 2)
7069
{
7170
if (Enum.TryParse<CmdletModel.UriEnums>(keyValuePair[0], true, out key) &&
72-
Enum.TryParse<CmdletModel.UriEnums>(keyValuePair[1], true, out value))
71+
!Enum.TryParse<CmdletModel.UriEnums>(keyValuePair[1], true, out value))
7372
{
7473
keyValuePairDict.Add(key, keyValuePair[1]);
7574
}

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.HydraAdapter/ClientProxyBase.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
using System.Threading;
2121
using System.Threading.Tasks;
2222
using Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models;
23+
using Microsoft.Azure.Commands.RecoveryServices.Backup.Properties;
2324

2425
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.HydraAdapter
2526
{
@@ -60,16 +61,28 @@ public string GetClientRequestId()
6061

6162
public string GetResourceName()
6263
{
64+
if (string.IsNullOrEmpty(PSRecoveryServicesClient.arsVault.Name))
65+
{
66+
throw new ArgumentException(Resources.SetVaultContextFirst);
67+
}
6368
return PSRecoveryServicesClient.arsVault.Name;
6469
}
6570

6671
public string GetResourceGroupName()
6772
{
73+
if (string.IsNullOrEmpty(PSRecoveryServicesClient.arsVault.ResouceGroupName))
74+
{
75+
throw new ArgumentException(Resources.SetVaultContextFirst);
76+
}
6877
return PSRecoveryServicesClient.arsVault.ResouceGroupName;
6978
}
7079

7180
public string GetResourceLocation()
7281
{
82+
if (string.IsNullOrEmpty(PSRecoveryServicesClient.arsVault.Location))
83+
{
84+
throw new ArgumentException(Resources.SetVaultContextFirst);
85+
}
7386
return PSRecoveryServicesClient.arsVault.Location;
7487
}
7588
}

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

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

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/Properties/Resources.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,4 +368,10 @@ Please contact Microsoft for further assistant.</value>
368368
<data name="TriggerBackupOperation" xml:space="preserve">
369369
<value>Trigger Backup Operation</value>
370370
</data>
371+
<data name="URIValueNotFound" xml:space="preserve">
372+
<value>{0} Uri value not found in Id {1}</value>
373+
</data>
374+
<data name="SetVaultContextFirst" xml:space="preserve">
375+
<value>Set vault context first using cmdlet Set-AzureRmRecoveryServicesVaultContext</value>
376+
</data>
371377
</root>

0 commit comments

Comments
 (0)