list method
Lists files.
Request parameters:
parent
- Required. The name of the repository whose files will be
listed. For example: "projects/p1/locations/us-central1/repositories/repo1
Value must have pattern
^projects/\[^/\]+/locations/\[^/\]+/repositories/\[^/\]+$
.
filter
- An expression for filtering the results of the request. Filter
rules are case insensitive. The fields eligible for filtering are: *
name
* owner
* annotations
Examples of using a filter: To filter the
results of your request to files with the name my_file.txt
in project
my-project
in the us-central
region, in repository my-repo
, append
the following filter expression to your request: *
name="projects/my-project/locations/us-central1/repositories/my-repo/files/my-file.txt"
You can also use wildcards to match any number of characters before or
after the value: *
name="projects/my-project/locations/us-central1/repositories/my-repo/files/my-*"
*
name="projects/my-project/locations/us-central1/repositories/my-repo/files / * file.txt"
*
name="projects/my-project/locations/us-central1/repositories/my-repo/files / * file*"
To filter the results of your request to files owned by the
version 1.0
in package pkg1
, append the following filter expression to
your request: *
owner="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/1.0"
To filter the results of your request to files with the annotation
key-value pair [external_link
: external_link_value
], append the
following filter expression to your request: *
"annotations.external_link:external_link_value"
To filter just for a
specific annotation key external_link
, append the following filter
expression to your request: * "annotations.external_link"
If the
annotation key or value contains special characters, you can escape them
by surrounding the value with backticks. For example, to filter the
results of your request to files with the annotation key-value pair
[external.link
:https://example.com/my-file
], append the following
filter expression to your request: * "annotations.`external.link`:`https://example.com/my-file`"
You can
also filter with annotations with a wildcard to match any number of
characters before or after the value: * "annotations.*_link:`*example.com*`"
orderBy
- The field to order the results by.
pageSize
- The maximum number of files to return. Maximum page size is
1,000.
pageToken
- The next_page_token value returned from a previous list
request, if any.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a ListFilesResponse.
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<ListFilesResponse> list(
core.String parent, {
core.String? filter,
core.String? orderBy,
core.int? pageSize,
core.String? pageToken,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (filter != null) 'filter': [filter],
if (orderBy != null) 'orderBy': [orderBy],
if (pageSize != null) 'pageSize': ['${pageSize}'],
if (pageToken != null) 'pageToken': [pageToken],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/files';
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return ListFilesResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}