disable method
Disables a ServiceAccount immediately.
If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail. To re-enable the service account, use EnableServiceAccount. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with DeleteServiceAccount.
request
- The metadata request object.
Request parameters:
name
- The resource name of the service account. Use one of the
following formats: *
projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}
*
projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}
As an alternative, you
can use the -
wildcard character instead of the project ID: *
projects/-/serviceAccounts/{EMAIL_ADDRESS}
*
projects/-/serviceAccounts/{UNIQUE_ID}
When possible, avoid using the
-
wildcard character, because it can cause response messages to contain
misleading error codes. For example, if you try to access the service
account projects/-/serviceAccounts/fake@example.com
, which does not
exist, the response contains an HTTP 403 Forbidden
error instead of a
404 Not Found
error.
Value must have pattern ^projects/\[^/\]+/serviceAccounts/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Empty.
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<Empty> disable(
DisableServiceAccountRequest 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_ = 'v1/' + core.Uri.encodeFull('$name') + ':disable';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>);
}