internal void ModifyRequest(ProjectsResource.ListRequest request) { if (PageSize != null) { request.MaxResults = PageSize; } }
public async Task <IEnumerable <Project> > QueryProjects( string filter, CancellationToken cancellationToken) { using (ApplicationTraceSources.Default.TraceMethod().WithParameters(filter)) { var request = new ProjectsResource.ListRequest(this.service) { Filter = filter }; var projects = await new PageStreamer < Project, ProjectsResource.ListRequest, ListProjectsResponse, string>( (req, token) => req.PageToken = token, response => response.NextPageToken, response => response.Projects) .FetchAllAsync(request, cancellationToken) .ConfigureAwait(false); // Filter projects in deleted/pending delete state. var result = projects.Where(p => p.LifecycleState == "ACTIVE"); ApplicationTraceSources.Default.TraceVerbose("Found {0} projects", result.Count()); return(result); } }
static void Main(string[] args) { GoogleCredential credential = GoogleCredential.GetApplicationDefault(); if (credential.IsCreateScopedRequired) { credential = credential.CreateScoped(new[] { CloudResourceManagerService.Scope.CloudPlatformReadOnly }); } var crmService = new CloudResourceManagerService(new BaseClientService.Initializer() { HttpClientInitializer = credential, }); var request = new ProjectsResource.ListRequest(crmService); while (true) { var result = request.Execute(); foreach (var project in result.Projects) { Console.WriteLine(project.ProjectId); } if (string.IsNullOrEmpty(result.NextPageToken)) { break; } request.PageToken = result.NextPageToken; } }
// [END list_datasets] /// <summary> /// Lists all Projects. /// </summary> // [START list_projects] public IEnumerable <ProjectList.ProjectsData> ListProjects() { BigqueryService bigquery = CreateAuthorizedClient(); var projectRequest = new ProjectsResource.ListRequest(bigquery); // Sometimes Projects will be null instead of an empty list. // It's easy to forget that and dereference null. So, catch // that case and return an empty list. return(projectRequest.Execute().Projects ?? new ProjectList.ProjectsData[] { }); }
public async Task <FilteredProjectList> ListProjects( ProjectFilter filter, int?maxResults, CancellationToken cancellationToken) { using (ApplicationTraceSources.Default.TraceMethod().WithParameters(filter)) { var request = new ProjectsResource.ListRequest(this.service) { Filter = filter?.ToString(), PageSize = maxResults }; IList <Project> projects; bool truncated; if (maxResults.HasValue) { // Read single page. var response = await request .ExecuteAsync(cancellationToken) .ConfigureAwait(false); truncated = response.NextPageToken != null; projects = response.Projects; } else { // Read all pages. truncated = false; projects = await new PageStreamer < Project, ProjectsResource.ListRequest, ListProjectsResponse, string>( (req, token) => req.PageToken = token, response => response.NextPageToken, response => response.Projects) .FetchAllAsync(request, cancellationToken) .ConfigureAwait(false); } // Filter projects in deleted/pending delete state. var activeProjects = projects .EnsureNotNull() .Where(p => p.LifecycleState == "ACTIVE"); ApplicationTraceSources.Default.TraceVerbose( "Found {0} projects", activeProjects.Count()); return(new FilteredProjectList(activeProjects, truncated)); } }
private static IEnumerable <Project> ListAllProjects() { ProjectsResource.ListRequest request = ResourceService.Projects.List(); do { ListProjectsResponse projects = request.Execute(); foreach (Project project in projects.Projects ?? Enumerable.Empty <Project>()) { // The Storage Service considers invactive projects to not exist. if (project.LifecycleState == "ACTIVE") { yield return(project); } } request.PageToken = projects.NextPageToken; } while (request.PageToken != null); }
/// <summary> /// Returns the complete list of projects for the current credentials. /// It always return empty list if no item is found, caller can safely assume there is no null return. /// </summary> public Task <IList <Project> > GetProjectsListAsync() { return(LoadPagedListAsync( (token) => { if (string.IsNullOrEmpty(token)) { Debug.WriteLine("Fetching first page."); return Service.Projects.List().ExecuteAsync(); } else { Debug.WriteLine($"Fetching page: {token}"); ProjectsResource.ListRequest request = Service.Projects.List(); request.PageToken = token; return request.ExecuteAsync(); } }, x => x.Projects, x => x.NextPageToken)); }
/// <summary> /// Returns list of projects based on the filter. /// </summary> private IEnumerable <Project> GetProjects(string filter) { ProjectsResource.ListRequest request = Service.Projects.List(); if (!string.IsNullOrWhiteSpace(filter)) { request.Filter = filter; } do { ListProjectsResponse response = request.Execute(); if (response.Projects != null) { foreach (Project project in response.Projects) { yield return(project); } } request.PageToken = response.NextPageToken; }while (!Stopping && request.PageToken != null); }
// Just loops though getting all the rows. private static ProjectList ProcessResults(ProjectsResource.ListRequest request) { try { ProjectList result = request.Execute(); List <ProjectList.ProjectsData> allRows = new List <ProjectList.ProjectsData>(); //// Loop through until we arrive at an empty page while (result.Projects != null) { //Add the rows to the final list allRows.AddRange(result.Projects); // We will know we are on the last page when the next page token is // null. // If this is the case, break. if (result.NextPageToken == null) { break; } // Prepare the next page of results request.PageToken = result.NextPageToken; // Execute and process the next page request result = request.Execute(); } ProjectList allData = result; allData.Projects = (List <ProjectList.ProjectsData>)allRows; return(allData); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } }
// [END list_datasets] /// <summary> /// Lists all Projects. /// </summary> /// <param name="bigquery">The BigQuery object.</param> // [START list_projects] public static IEnumerable<ProjectList.ProjectsData> ListProjects(BigqueryService bigquery) { var projectRequest = new ProjectsResource.ListRequest(bigquery); // Sometimes Projects will be null instead of an empty list. // It's easy to forget that and dereference null. So, catch // that case and return an empty list. return projectRequest.Execute().Projects ?? new ProjectList.ProjectsData[] { }; }