internal async Task <IEnumerable <ILogDataObject> > ListInResourceGroupAsync(string resourceGroup, CancellationToken cancellationToken) { var runtime = new FunctionRuntimePackage(logger); string rgName = naming.GetResourceGroupName(resourceGroup); var apps = await azure.AppServices.FunctionApps.ListByResourceGroupAsync(rgName, cancellationToken : cancellationToken); if (apps is null) { throw new InvalidOperationException("Azure API FunctionApps.ListByResourceGroupAsync failed"); } var result = new List <InstanceOutputData>(); foreach (var app in apps) { cancellationToken.ThrowIfCancellationRequested(); var name = naming.FromFunctionAppName(app.Name, resourceGroup); var runtimeVersion = await runtime.GetDeployedRuntimeVersion(name, azure, cancellationToken); if (runtimeVersion is null) { throw new InvalidOperationException("Could not retrieve deployed Runtime version"); } result.Add(new InstanceOutputData( name.PlainName, app.Region.Name, runtimeVersion) ); } return(result); }
public async Task <IEnumerable <ILogDataObject> > ListByLocationAsync(string location, CancellationToken cancellationToken) { var runtime = new FunctionRuntimePackage(logger); var rgs = await azure.ResourceGroups.ListAsync(cancellationToken : cancellationToken); if (rgs is null) { throw new InvalidOperationException("Azure API ResourceGroups.ListAsync failed"); } var filter = rgs.Where( rg => naming.ResourceGroupMatches(rg) && string.Compare(rg.RegionName, location, StringComparison.Ordinal) == 0); var result = new List <InstanceOutputData>(); foreach (var rg in filter) { var name = naming.FromResourceGroupName(rg.Name); var runtimeVersion = await runtime.GetDeployedRuntimeVersion(name, azure, cancellationToken); if (runtimeVersion is null) { throw new InvalidOperationException("Could not retrieve deployed Runtime version"); } result.Add(new InstanceOutputData( name.PlainName, rg.RegionName, runtimeVersion) ); } return(result); }
internal async Task <IEnumerable <ILogDataObject> > ListInResourceGroupAsync(string resourceGroup, CancellationToken cancellationToken) { var runtime = new FunctionRuntimePackage(logger); var apps = await azure.AppServices.FunctionApps.ListByResourceGroupAsync(resourceGroup, cancellationToken : cancellationToken); var result = new List <InstanceOutputData>(); foreach (var app in apps) { cancellationToken.ThrowIfCancellationRequested(); var name = InstanceName.FromFunctionAppName(app.Name, resourceGroup); result.Add(new InstanceOutputData( name.PlainName, app.Region.Name, await runtime.GetDeployedRuntimeVersion(name, azure, cancellationToken)) ); } return(result); }
public async Task <IEnumerable <ILogDataObject> > ListAllAsync(CancellationToken cancellationToken) { var runtime = new FunctionRuntimePackage(logger); var rgs = await azure.ResourceGroups.ListAsync(cancellationToken : cancellationToken); var filter = rgs .Where(rg => rg.Name.StartsWith(InstanceName.ResourceGroupInstancePrefix)); var result = new List <InstanceOutputData>(); foreach (var rg in filter) { var name = InstanceName.FromResourceGroupName(rg.Name); result.Add(new InstanceOutputData( name.PlainName, rg.RegionName, await runtime.GetDeployedRuntimeVersion(name, azure, cancellationToken)) ); } return(result); }