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);
}
}