setIamPolicy method

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

Sets the IAM policy on an environment, if the policy already exists it will be replaced.

For more information, see Manage users, roles, and permissions using the API. You must have the apigee.environments.setIamPolicy permission to call this API.

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 ^organizations/\[^/\]+/environments/\[^/\]+$.

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

Completes with a GoogleIamV1Policy.

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<GoogleIamV1Policy> setIamPolicy(
  GoogleIamV1SetIamPolicyRequest 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 GoogleIamV1Policy.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}