public LoadedProviderMetadata GetProviderMetadata(string providerName) { if (!HasProvider(providerName)) { throw new Exception($"Provider '{providerName}' not available!"); } else { return(LoadedProviders.First(p => p.ProviderTypeName == providerName)); } }
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)))); }
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);