setIamPolicy method
Sets the access control policy on a database or backup resource.
Replaces any existing policy. Authorization requires
spanner.databases.setIamPolicy
permission on resource. For backups,
authorization requires spanner.backups.setIamPolicy
permission on
resource. For backup schedules, authorization requires
spanner.backupSchedules.setIamPolicy
permission on resource.
request
- The metadata request object.
Request parameters:
resource
- REQUIRED: The Cloud Spanner resource for which the policy is
being set. The format is projects//instances/
for instance resources and
projects//instances//databases/
for databases resources.
Value must have pattern
^projects/\[^/\]+/instances/\[^/\]+/backups/\[^/\]+$
.
$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>);
}