list method

Future<ListDatabaseOperationsResponse> list (
  1. String parent,
  2. {String pageToken,
  3. int pageSize,
  4. String filter,
  5. String $fields}
)

Lists database longrunning-operations. A database operation has a name of the form projects/<project>/instances/<instance>/databases/<database>/operations/<operation>. The long-running operation metadata field type metadata.type_url describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations.

Request parameters:

parent - Required. The instance of the database operations. Values are of the form projects/<project>/instances/<instance>. Value must have pattern "^projects/^/+/instances/^/+$".

pageToken - If non-empty, page_token should contain a next_page_token from a previous ListDatabaseOperationsResponse to the same parent and with the same filter.

pageSize - Number of operations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.

filter - An expression that filters the list of returned operations.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: <, >, <=, >=, !=, =, or :. Colon : is the contains operator. Filter rules are not case sensitive.

The following fields in the Operation are eligible for filtering:

  • name - The name of the long-running operation
  • done - False if the operation is in progress, else true.
  • metadata.@type - the type of metadata. For example, the type string for RestoreDatabaseMetadata is type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata.
  • metadata.<field_name> - any field in metadata.value.
  • error - Error associated with the long-running operation.
  • response.@type - the type of response.
  • response.<field_name> - any field in response.value.

You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly.

Here are a few examples:

  • done:true - The operation is complete.

(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND <br/> (metadata.source_type:BACKUP) AND <br/> (metadata.backup_info.backup:backup_howl) AND <br/> (metadata.name:restored_howl) AND <br/> (metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND <br/> (error:*) - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains "backup_howl". * The restored database's name contains "restored_howl". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.

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

Completes with a ListDatabaseOperationsResponse.

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<ListDatabaseOperationsResponse> list(core.String parent,
    {core.String pageToken,
    core.int pageSize,
    core.String filter,
    core.String $fields}) {
  var _url;
  var _queryParams = new core.Map<core.String, core.List<core.String>>();
  var _uploadMedia;
  var _uploadOptions;
  var _downloadOptions = commons.DownloadOptions.Metadata;
  var _body;

  if (parent == null) {
    throw new core.ArgumentError("Parameter parent is required.");
  }
  if (pageToken != null) {
    _queryParams["pageToken"] = [pageToken];
  }
  if (pageSize != null) {
    _queryParams["pageSize"] = ["${pageSize}"];
  }
  if (filter != null) {
    _queryParams["filter"] = [filter];
  }
  if ($fields != null) {
    _queryParams["fields"] = [$fields];
  }

  _url = 'v1/' +
      commons.Escaper.ecapeVariableReserved('$parent') +
      '/databaseOperations';

  var _response = _requester.request(_url, "GET",
      body: _body,
      queryParams: _queryParams,
      uploadOptions: _uploadOptions,
      uploadMedia: _uploadMedia,
      downloadOptions: _downloadOptions);
  return _response
      .then((data) => new ListDatabaseOperationsResponse.fromJson(data));
}