setIamPolicy method

Future<Policy> setIamPolicy(
  1. SetIamPolicyRequest request,
  2. String resource, {
  3. String? $fields,
})

Sets the IAM policy for the specified Access Context Manager access policy.

This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy.

request - The metadata request object.

Request parameters:

resource - REQUIRED: The resource for which the policy is being specified. See Resource names for the appropriate value for this field. Value must have pattern ^accessPolicies/\[^/\]+$.

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

Completes with a Policy.

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<Policy> setIamPolicy(
  SetIamPolicyRequest request,
  core.String resource, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy';

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