switchover method

Future<Operation> switchover(
  1. SwitchoverClusterRequest request,
  2. String name, {
  3. String? $fields,
})

Switches the roles of PRIMARY and SECONDARY clusters without any data loss.

This promotes the SECONDARY cluster to PRIMARY and sets up the original PRIMARY cluster to replicate from this newly promoted cluster.

request - The metadata request object.

Request parameters:

name - Required. The name of the resource. For the required format, see the comment on the Cluster.name field Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$.

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

Completes with a Operation.

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<Operation> switchover(
  SwitchoverClusterRequest 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') + ':switchover';

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