Skip to content

Commit b15e4cb

Browse files
Nickcandyisra-fel
andauthored
Fixed Get-AzResourceGroup on -Id requires Set-AzContext to given subs… (#21765)
* Fixed Get-AzResourceGroup on -Id requires Set-AzContext to given subscription first [#21725] * Update src/Resources/Resources/ChangeLog.md Co-authored-by: Yeming Liu <[email protected]> * revise code * revise code --------- Co-authored-by: Yeming Liu <[email protected]>
1 parent 8c0328a commit b15e4cb

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

src/Resources/ResourceManager/Implementation/ResourceGroups/GetAzureResourceGroupCmdlet.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,13 @@ public class GetAzureResourceGroupCmdlet : ResourceManagerCmdletBaseWithApiVersi
6565

6666
protected override void OnProcessRecord()
6767
{
68-
Name = Name ?? ResourceIdentifier.FromResourceGroupIdentifier(this.Id).ResourceGroupName;
69-
this.WriteObject(ResourceManagerSdkClient.FilterResourceGroups(name: this.Name, tag: this.Tag, detailed: false, location: this.Location), true);
68+
String subscriptionId = null;
69+
if (ResourceGroupIdParameterSet.Equals(ParameterSetName)){
70+
ResourceIdentifier resourceIdentifier = ResourceIdentifier.FromResourceGroupIdentifier(this.Id);
71+
Name = resourceIdentifier.ResourceGroupName;
72+
subscriptionId = resourceIdentifier.Subscription;
73+
}
74+
this.WriteObject(ResourceManagerSdkClient.FilterResourceGroups(name: this.Name, tag: this.Tag, detailed: false, location: this.Location, subscriptionId), true);
7075
}
7176

7277
}

src/Resources/ResourceManager/SdkClient/ResourceManagerSdkClient.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -860,8 +860,9 @@ public virtual PSResourceGroup UpdatePSResourceGroup(PSUpdateResourceGroupParame
860860
/// <param name="tag">The resource group tag.</param>
861861
/// <param name="detailed">Whether the return is detailed or not.</param>
862862
/// <param name="location">The resource group location.</param>
863+
/// <param name="subscriptionId"></param>
863864
/// <returns>The filtered resource groups</returns>
864-
public virtual List<PSResourceGroup> FilterResourceGroups(string name, Hashtable tag, bool detailed, string location = null)
865+
public virtual List<PSResourceGroup> FilterResourceGroups(string name,Hashtable tag, bool detailed, string location = null, string subscriptionId = null)
865866
{
866867
List<PSResourceGroup> result = new List<PSResourceGroup>();
867868

@@ -909,6 +910,9 @@ public virtual List<PSResourceGroup> FilterResourceGroups(string name, Hashtable
909910
{
910911
try
911912
{
913+
if (!String.IsNullOrEmpty(subscriptionId)) {
914+
ResourceManagementClient.SubscriptionId = subscriptionId;
915+
}
912916
PSResourceGroup resourceGroup = ResourceManagementClient.ResourceGroups.Get(name).ToPSResourceGroup();
913917
if (string.IsNullOrEmpty(location) || resourceGroup.Location.EqualsAsLocation(location))
914918
{

src/Resources/Resources.Test/ResourceGroups/GetAzureResourceGroupCommandTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void GetsResourcesGroups()
6262
ResourceGroupName = resourceGroupName
6363
};
6464
result.Add(expected);
65-
resourcesClientMock.Setup(f => f.FilterResourceGroups(resourceGroupName, null, false, null)).Returns(result);
65+
resourcesClientMock.Setup(f => f.FilterResourceGroups(resourceGroupName, null, false, null, null)).Returns(result);
6666

6767
cmdlet.Name = resourceGroupName;
6868

@@ -86,7 +86,7 @@ public void GetsResourcesGroupsById()
8686
ResourceGroupName = resourceGroupName
8787
};
8888
result.Add(expected);
89-
resourcesClientMock.Setup(f => f.FilterResourceGroups(null, null, true, null)).Returns(result);
89+
resourcesClientMock.Setup(f => f.FilterResourceGroups(null, null, true, null, null)).Returns(result);
9090

9191
cmdlet.Id = resourceGroupId;
9292

src/Resources/Resources/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
* Fixed `New-AzADApplication` when multiple redirect url types are provided. [#21108]
3030
* Fixed `Update-AzADServicePrincipal` when empty array passed for `IdentifierUri` [#21345]
3131
* Fixed an issue where location header was missing in the response from the service for New-AzManagedApplication.
32+
* Fixed `Get-AzResourceGroup` ignored the subscription ID in `-Id` [#21725]
3233

3334
## Version 6.6.1
3435
* Added support for Azure resources deployment with parameters file using Bicep parameters syntax

0 commit comments

Comments
 (0)