Microsoft.Azure.Commands.Resources.GetAzureProviderOperationCommand.ProcessProviderOperationsWithWildCard C# (CSharp) Method

ProcessProviderOperationsWithWildCard() private method

Get a list of Provider operations in the case that the Actionstring input contains a wildcard
private ProcessProviderOperationsWithWildCard ( string actionSearchString ) : List
actionSearchString string
return List
        private List<PSResourceProviderOperation> ProcessProviderOperationsWithWildCard(string actionSearchString)
        {
            // Filter the list of all operation names to what matches the wildcard
            WildcardPattern wildcard = new WildcardPattern(actionSearchString, WildcardOptions.IgnoreCase | WildcardOptions.Compiled);

            List<ProviderOperationsMetadata> providers = new List<ProviderOperationsMetadata>();
            string provider = this.OperationSearchString.Split(Separator).First();
            if (provider.Equals(WildCardCharacter))
            {
                // 'Get-AzureRmProviderOperation *' or 'Get-AzureRmProviderOperation */virtualmachines/*'
                // get operations for all providers
                providers.AddRange(this.ResourcesClient.ListProviderOperationsMetadata());
            }
            else
            {
                // 'Get-AzureRmProviderOperation Microsoft.Compute/virtualmachines/*' or 'Get-AzureRmProviderOperation Microsoft.Sql/*'
                providers.Add(this.ResourcesClient.GetProviderOperationsMetadata(provider));
            }

            return providers.SelectMany(p => GetPSOperationsFromProviderOperationsMetadata(p)).Where(operation => wildcard.IsMatch(operation.Operation)).ToList();
        }