search method

Future<SearchProjectsResponse> search({
  1. int? pageSize,
  2. String? pageToken,
  3. String? query,
  4. String? $fields,
})

Search for projects that the caller has the resourcemanager.projects.get permission on, and also satisfy the specified query.

This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.

Request parameters:

pageSize - Optional. The maximum number of projects to return in the response. The server can return fewer projects than requested. If unspecified, server picks an appropriate default.

pageToken - Optional. A pagination token returned from a previous call to ListProjects that indicates from where listing should continue.

query - Optional. A query string for searching for projects that the caller has resourcemanager.projects.get permission to. If multiple fields are included in the query, then it will return results that match

any of the fields. Some eligible fields are: | Field | Description | |-------------------------|----------------------------------------------| | displayName, name | Filters by displayName. | | parent | Project's parent (for example: folders/123, organizations / * ). Prefer parent field over parent.type and parent.id.| | parent.type | Parent's type: `folder` or `organization`. | | parent.id | Parent's id number (for example: 123) | | id, projectId | Filters by projectId. | | state, lifecycleState | Filters by state. | | labels | Filters by label name or value. | | labels.\ (where *key* is the name of a label) | Filters by label name.| Search expressions are case insensitive. Some examples queries: ``` |

Query Description
name:how* The project's name starts with "how".
project's name is Howl or howl.
NAME:howl Equivalent to above.
the label color.
the value red.
label color has the value red or its label size has the value big.
``` If no query is specified, the call will return projects for which
the user has the resourcemanager.projects.get permission.

$fields - Selector specifying which fields to include in a partial response.

Completes with a SearchProjectsResponse.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<SearchProjectsResponse> search({
  core.int? pageSize,
  core.String? pageToken,
  core.String? query,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (pageSize != null) 'pageSize': ['${pageSize}'],
    if (pageToken != null) 'pageToken': [pageToken],
    if (query != null) 'query': [query],
    if ($fields != null) 'fields': [$fields],
  };

  const url_ = 'v3/projects:search';

  final response_ = await _requester.request(
    url_,
    'GET',
    queryParams: queryParams_,
  );
  return SearchProjectsResponse.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}