update method
- GoogleIamV2Policy request,
- String name, {
- String? $fields,
Updates the specified policy.
You can update only the rules and the display name for the policy. To
update a policy, you should use a read-modify-write loop: 1. Use GetPolicy
to read the current version of the policy. 2. Modify the policy as needed.
3. Use UpdatePolicy
to write the updated policy. This pattern helps
prevent conflicts between concurrent updates.
request
- The metadata request object.
Request parameters:
name
- Immutable. The resource name of the Policy
, which must be
unique. Format: policies/{attachment_point}/denypolicies/{policy_id}
The
attachment point is identified by its URL-encoded full resource name,
which means that the forward-slash character, /
, must be written as
%2F
. For example,
policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy
.
For organizations and folders, use the numeric ID in the full resource
name. For projects, requests can use the alphanumeric or the numeric ID.
Responses always contain the numeric ID.
Value must have pattern ^policies/\[^/\]+/\[^/\]+/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a GoogleLongrunningOperation.
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<GoogleLongrunningOperation> update(
GoogleIamV2Policy request,
core.String name, {
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_ = 'v2/' + core.Uri.encodeFull('$name');
final response_ = await _requester.request(
url_,
'PUT',
body: body_,
queryParams: queryParams_,
);
return GoogleLongrunningOperation.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}