code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<Instance, Any> failoverInstanceAsync(
        String name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode) {
  
      FailoverInstanceRequest request =
          FailoverInstanceRequest.newBuilder()
              .setName(name)
              .setDataProtectionMode(dataProtectionMode)
              .build();
      return failoverInstanceAsync(request);
    }
docs: Failover the master role to current replica node against a specific STANDARD tier redis
  instance.
  
  <p>Sample code:
  
  <pre><code>
  try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
  String formattedName = InstanceName.format("[PROJECT]", "[LOCATION]", "[INSTANCE]");
  FailoverInstanceRequest.DataProtectionMode dataProtectionMode = FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
  Instance response = cloudRedisClient.failoverInstanceAsync(formattedName, dataProtectionMode).get();
  }
  </code></pre>
  
  @param name Required. Redis instance resource name using the form:
  `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id`
  refers to a GCP region
  @param dataProtectionMode Optional. Available data protection modes that the user can choose.
  If it's unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails