Skip to content

Commit 018fc3b

Browse files
committed
Adding Server based filtering to Get Storage classification
1 parent 5d4866f commit 018fc3b

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Common/PSSiteRecoveryFabricClient.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,23 @@ public LongRunningOperationResponse DeleteAzureSiteRecoveryFabric(string fabricN
109109
this.GetRequestHeaders());
110110
}
111111
}
112+
113+
/// <summary>
114+
/// Fabric extensions.
115+
/// </summary>
116+
public static class FabricExtensions
117+
{
118+
/// <summary>
119+
/// Gets ARM Id of fabric from provider's ARM Id.
120+
/// </summary>
121+
/// <param name="provider">Provider ARM Id.</param>
122+
/// <returns>ARM Id of fabric.</returns>
123+
public static string GetFabricId(this ASRServer provider)
124+
{
125+
return provider.ID.GetVaultArmId() + "/" +
126+
string.Format(ARMResourceIdPaths.FabricResourceIdPath,
127+
provider.ID.UnFormatArmId(
128+
ARMResourceIdPaths.RecoveryServicesProviderResourceIdPath));
129+
}
130+
}
112131
}

src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Storage/Classification/GetAzureSiteRecoveryStorageClassification.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ public class GetAzureSiteRecoveryStorageClassification : SiteRecoveryCmdletBase
4343
[Parameter(ParameterSetName = ASRParameterSets.ByFriendlyName, Mandatory = true, ValueFromPipeline = true)]
4444
[ValidateNotNullOrEmpty]
4545
public string FriendlyName { get; set; }
46+
47+
/// <summary>
48+
/// Gets or sets friendly name of classification.
49+
/// </summary>
50+
[Parameter(ParameterSetName = ASRParameterSets.ByObject, Mandatory = true, ValueFromPipeline = true)]
51+
public ASRServer Server { get; set; }
4652
#endregion
4753

4854
/// <summary>
@@ -86,6 +92,10 @@ public override void ExecuteSiteRecoveryCmdlet()
8692
StringComparison.InvariantCultureIgnoreCase))
8793
.ToList();
8894
break;
95+
case ASRParameterSets.ByObject:
96+
storageClassifications = storageClassifications.Where(item =>
97+
item.GetFabricId().Equals(Server.GetFabricId())).ToList();
98+
break;
8999
}
90100

91101
var psObject = storageClassifications.ConvertAll(item =>

0 commit comments

Comments
 (0)