diff --git a/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Implementation/Resource/FindAzureResourceCmdlet.cs b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Implementation/Resource/FindAzureResourceCmdlet.cs index e01a3fb96c61..635304c9a53c 100644 --- a/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Implementation/Resource/FindAzureResourceCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Implementation/Resource/FindAzureResourceCmdlet.cs @@ -101,6 +101,22 @@ public sealed class FindAzureResourceCmdlet : ResourceManagerCmdletBase [ValidateNotNullOrEmpty] public string ODataQuery { get; set; } + /// + /// Gets or sets the tag name. + /// + [Parameter(ParameterSetName = FindAzureResourceCmdlet.ListResourcesParameterSet, Mandatory = false, HelpMessage = "The name of the tag to query by.")] + [Parameter(ParameterSetName = FindAzureResourceCmdlet.MultiSubscriptionListResourcesParameterSet, Mandatory = false, HelpMessage = "The name of the tag to query by.")] + [ValidateNotNullOrEmpty] + public string TagName { get; set; } + + /// + /// Gets or sets the tag value. + /// + [Parameter(ParameterSetName = FindAzureResourceCmdlet.ListResourcesParameterSet, Mandatory = false, HelpMessage = "The value of the tag to query by.")] + [Parameter(ParameterSetName = FindAzureResourceCmdlet.MultiSubscriptionListResourcesParameterSet, Mandatory = false, HelpMessage = "The value of the tag to query by.")] + [ValidateNotNullOrEmpty] + public string TagValue { get; set; } + /// /// Gets or sets the resource group name. /// @@ -237,8 +253,8 @@ private async Task> ListResourcesTypeCollect var odataQuery = QueryFilterBuilder.CreateFilter( resourceType: null, resourceName: null, - tagName: null, - tagValue: null, + tagName: this.TagName, + tagValue: this.TagValue, filter: this.ODataQuery, resourceGroupNameContains: this.ResourceGroupNameContains, nameContains: this.ResourceGroupNameContains); @@ -264,8 +280,8 @@ private async Task> ListResourcesInTenant() resourceGroup: null, resourceType: this.ResourceType, resourceName: null, - tagName: null, - tagValue: null, + tagName: this.TagName, + tagValue: this.TagValue, filter: this.ODataQuery, resourceGroupNameContains: this.ResourceGroupNameContains, nameContains: this.ResourceNameContains); @@ -293,8 +309,8 @@ private async Task> ListResourcesInResourceG .CreateFilter( resourceType: this.ResourceType, resourceName: null, - tagName: null, - tagValue: null, + tagName: this.TagName, + tagValue: this.TagValue, filter: this.ODataQuery, resourceGroupNameContains: this.ResourceGroupNameContains, nameContains: this.ResourceNameContains); @@ -324,8 +340,8 @@ private async Task> ListResourcesInSubscript .CreateFilter( resourceType: this.ResourceType, resourceName: null, - tagName: null, - tagValue: null, + tagName: this.TagName, + tagValue: this.TagValue, filter: this.ODataQuery, nameContains: this.ResourceNameContains); @@ -466,7 +482,9 @@ private bool IsResourceGroupLevelQuery() { return this.SubscriptionId.HasValue && this.ResourceGroupNameContains != null && - (this.ResourceType != null || + (this.TagName != null || + this.TagValue != null || + this.ResourceType != null || this.ExtensionResourceType != null); } }