list method

Future<ListAssetsResponse> list(
  1. String parent, {
  2. List<String>? assetTypes,
  3. String? contentType,
  4. int? pageSize,
  5. String? pageToken,
  6. String? readTime,
  7. List<String>? relationshipTypes,
  8. String? $fields,
})

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>);
}