public LoadedProviderMetadata GetProviderMetadata(string providerName)
 {
     if (!HasProvider(providerName))
     {
         throw new Exception($"Provider '{providerName}' not available!");
     }
     else
     {
         return(LoadedProviders.First(p => p.ProviderTypeName == providerName));
     }
 }
Exemplo n.º 2
0
        public IActionResult List(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "providers")] HttpRequest req,
            ILogger log)
        {
            if (!req.IsValidUser())
            {
                return(new UnauthorizedResult());
            }

            log.LogInformation("Listing loaded Providers.");

            return(new OkObjectResult(LoadedProviders.Select(p => GetViewModel(p))));
        }
Exemplo n.º 3
0
        public IActionResult GetBlankConfiguration(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "providers/{providerType}")] HttpRequest req,
            string providerType,
            ILogger log)
        {
            if (!req.IsValidUser())
            {
                return(new UnauthorizedResult());
            }

            log.LogInformation("Retrieving blank configuration for hashed provider name '{0}'.", providerType);

            var provider = LoadedProviders.FirstOrDefault(p => HelperMethods.SHA256HashString(p.ProviderTypeName) == providerType);

            if (provider == null)
            {
                return(new BadRequestErrorMessageResult("Invalid Provider type"));
            }
            return(new OkObjectResult(GetViewModel(GetProviderConfiguration(provider.ProviderTypeName))));
        }
        public async Task <IEnumerable <ProviderResourceSuggestion> > EnumerateProviders(AccessTokenCredential credential)
        {
            var providers = (await Task.WhenAll(
                                 LoadedProviders.Select(p => GetProviderInstanceDefault(p.ProviderTypeName))
                                 .OfType <ICanEnumerateResourceCandidates>()
                                 .Select(p => EnumerateProviders(credential, p))))
                            .Where(c => c != null)
                            .SelectMany(c => c);

            foreach (var provider in providers.Where(p => p.AddressableNames.Any()))
            {
                foreach (var name in provider.AddressableNames)
                {
                    var refs = providers.Where(p => p.ResourceValues.Any(r => r.Contains(name)));
                    provider.ResourcesAddressingThis.AddRange(refs);
                }
            }

            return(providers);
        }
 public bool HasProvider(string providerName) => LoadedProviders.Any(p => p.ProviderTypeName == providerName);