Exemplo n.º 1
0
 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);
            }
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
0
        // [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[] { });
        }
Exemplo n.º 5
0
        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));
            }
        }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
 /// <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));
 }
Exemplo n.º 8
0
        /// <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);
        }
Exemplo n.º 9
0
        // 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);
            }
        }
Exemplo n.º 10
0
 // [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[] { };
 }