list method
Lists assets with time and resource types and returns paged results in response.
Request parameters:
parent
- Required. Name of the organization, folder, or project the
assets belong to. Format: "organizations/[organization-number]" (such as
"organizations/123"), "projects/[project-id]" (such as
"projects/my-project-id"), "projects/[project-number]" (such as
"projects/12345"), or "folders/[folder-number]" (such as
"folders/12345").
Value must have pattern ^\[^/\]+/\[^/\]+$
.
assetTypes
- A list of asset types to take a snapshot for. For example:
"compute.googleapis.com/Disk". Regular expression is also supported. For
example: * "compute.googleapis.com.*" snapshots resources whose asset type
starts with "compute.googleapis.com". * ".*Instance" snapshots resources
whose asset type ends with "Instance". * ".Instance." snapshots
resources whose asset type contains "Instance". See
RE2 for all supported regular
expression syntax. If the regular expression does not match any supported
asset type, an INVALID_ARGUMENT error will be returned. If specified, only
matching assets will be returned, otherwise, it will snapshot all asset
types. See
Introduction to Cloud Asset Inventory
for all supported asset types.
contentType
- Asset content type. If not specified, no content but the
asset name will be returned.
Possible string values are:
- "CONTENT_TYPE_UNSPECIFIED" : Unspecified content type.
- "RESOURCE" : Resource metadata.
- "IAM_POLICY" : The actual IAM policy set on a resource.
- "ORG_POLICY" : The organization policy set on an asset.
- "ACCESS_POLICY" : The Access Context Manager policy set on an asset.
- "OS_INVENTORY" : The runtime OS Inventory information.
- "RELATIONSHIP" : The related resources.
pageSize
- The maximum number of assets to be returned in a single
response. Default is 100, minimum is 1, and maximum is 1000.
pageToken
- The next_page_token
returned from the previous
ListAssetsResponse
, or unspecified for the first ListAssetsRequest
. It
is a continuation of a prior ListAssets
call, and the API should return
the next page of assets.
readTime
- Timestamp to take an asset snapshot. This can only be set to
a timestamp between the current time and the current time minus 35 days
(inclusive). If not specified, the current time will be used. Due to
delays in resource data collection and indexing, there is a volatile
window during which running the same query may get different results.
relationshipTypes
- A list of relationship types to output, for example:
INSTANCE_TO_INSTANCEGROUP
. This field should only be specified if
content_type=RELATIONSHIP. * If specified: it snapshots specified
relationships. It returns an error if any of the [relationship_types]
doesn't belong to the supported relationship types of the [asset_types]
or if any of the [asset_types] doesn't belong to the source types of the
[relationship_types]. * Otherwise: it snapshots the supported
relationships for all [asset_types] or returns an error if any of the
[asset_types] has no relationship support. An unspecified asset types
field means all supported asset_types. See
Introduction to Cloud Asset Inventory
for all supported asset types and relationship types.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a ListAssetsResponse.
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<ListAssetsResponse> list(
core.String parent, {
core.List<core.String>? assetTypes,
core.String? contentType,
core.int? pageSize,
core.String? pageToken,
core.String? readTime,
core.List<core.String>? relationshipTypes,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (assetTypes != null) 'assetTypes': assetTypes,
if (contentType != null) 'contentType': [contentType],
if (pageSize != null) 'pageSize': ['${pageSize}'],
if (pageToken != null) 'pageToken': [pageToken],
if (readTime != null) 'readTime': [readTime],
if (relationshipTypes != null) 'relationshipTypes': relationshipTypes,
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/assets';
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return ListAssetsResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}