getProtectedResourcesSummary method

Future<GoogleCloudKmsInventoryV1ProtectedResourcesSummary> getProtectedResourcesSummary(
  1. String name, {
  2. String? fallbackScope,
  3. String? $fields,
})

Returns aggregate information about the resources protected by the given Cloud KMS CryptoKey.

By default, summary of resources within the same Cloud organization as the key will be returned, which requires the KMS organization service account to be configured(refer https://docs.cloud.google.com/kms/docs/view-key-usage#required-roles). If the KMS organization service account is not configured or key's project is not part of an organization, set fallback_scope to FALLBACK_SCOPE_PROJECT to retrieve a summary of protected resources within the key's project.

Request parameters:

name - Required. The resource name of the CryptoKey. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/keyRings/\[^/\]+/cryptoKeys/.*$.

fallbackScope - Optional. The scope to use if the kms organization service account is not configured. Possible string values are:

  • "FALLBACK_SCOPE_UNSPECIFIED" : Unspecified scope type.
  • "FALLBACK_SCOPE_PROJECT" : If set to FALLBACK_SCOPE_PROJECT, the API will fall back to using key's project as request scope if the kms organization service account is not configured.

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

Completes with a GoogleCloudKmsInventoryV1ProtectedResourcesSummary.

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<GoogleCloudKmsInventoryV1ProtectedResourcesSummary>
getProtectedResourcesSummary(
  core.String name, {
  core.String? fallbackScope,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    'fallbackScope': ?fallbackScope == null ? null : [fallbackScope],
    'fields': ?$fields == null ? null : [$fields],
  };

  final url_ =
      'v1/' + core.Uri.encodeFull('$name') + '/protectedResourcesSummary';

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