diff --git a/google-cloud-clients/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/CloudRedisClient.java b/google-cloud-clients/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/CloudRedisClient.java index 5a89e2b84181..d78e934c6c31 100644 --- a/google-cloud-clients/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/CloudRedisClient.java +++ b/google-cloud-clients/google-cloud-redis/src/main/java/com/google/cloud/redis/v1/CloudRedisClient.java @@ -984,9 +984,44 @@ public final UnaryCallable deleteInstanceCalla * *

    * try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
-   *   String formattedName = InstanceName.format("[PROJECT]", "[LOCATION]", "[INSTANCE]");
+   *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   FailoverInstanceRequest.DataProtectionMode dataProtectionMode = FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
-   *   Instance response = cloudRedisClient.failoverInstanceAsync(formattedName, dataProtectionMode).get();
+   *   Instance response = cloudRedisClient.failoverInstanceAsync(name, dataProtectionMode).get();
+   * }
+   * 
+ * + * @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 + */ + @BetaApi( + "The surface for long-running operations is not stable yet and may change in the future.") + public final OperationFuture failoverInstanceAsync( + InstanceName name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode) { + + FailoverInstanceRequest request = + FailoverInstanceRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .setDataProtectionMode(dataProtectionMode) + .build(); + return failoverInstanceAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Failover the master role to current replica node against a specific STANDARD tier redis + * instance. + * + *

Sample code: + * + *


+   * try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
+   *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
+   *   FailoverInstanceRequest.DataProtectionMode dataProtectionMode = FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
+   *   Instance response = cloudRedisClient.failoverInstanceAsync(name.toString(), dataProtectionMode).get();
    * }
    * 
* @@ -1019,10 +1054,10 @@ public final OperationFuture failoverInstanceAsync( * *

    * try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
-   *   String formattedName = InstanceName.format("[PROJECT]", "[LOCATION]", "[INSTANCE]");
+   *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   FailoverInstanceRequest.DataProtectionMode dataProtectionMode = FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
    *   FailoverInstanceRequest request = FailoverInstanceRequest.newBuilder()
-   *     .setName(formattedName)
+   *     .setName(name.toString())
    *     .setDataProtectionMode(dataProtectionMode)
    *     .build();
    *   Instance response = cloudRedisClient.failoverInstanceAsync(request).get();
@@ -1048,10 +1083,10 @@ public final OperationFuture failoverInstanceAsync(
    *
    * 

    * try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
-   *   String formattedName = InstanceName.format("[PROJECT]", "[LOCATION]", "[INSTANCE]");
+   *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   FailoverInstanceRequest.DataProtectionMode dataProtectionMode = FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
    *   FailoverInstanceRequest request = FailoverInstanceRequest.newBuilder()
-   *     .setName(formattedName)
+   *     .setName(name.toString())
    *     .setDataProtectionMode(dataProtectionMode)
    *     .build();
    *   OperationFuture<Instance, OperationMetadata> future = cloudRedisClient.failoverInstanceOperationCallable().futureCall(request);
@@ -1075,10 +1110,10 @@ public final OperationFuture failoverInstanceAsync(
    *
    * 

    * try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
-   *   String formattedName = InstanceName.format("[PROJECT]", "[LOCATION]", "[INSTANCE]");
+   *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   FailoverInstanceRequest.DataProtectionMode dataProtectionMode = FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
    *   FailoverInstanceRequest request = FailoverInstanceRequest.newBuilder()
-   *     .setName(formattedName)
+   *     .setName(name.toString())
    *     .setDataProtectionMode(dataProtectionMode)
    *     .build();
    *   ApiFuture<Operation> future = cloudRedisClient.failoverInstanceCallable().futureCall(request);
diff --git a/google-cloud-clients/google-cloud-redis/src/test/java/com/google/cloud/redis/v1/CloudRedisClientTest.java b/google-cloud-clients/google-cloud-redis/src/test/java/com/google/cloud/redis/v1/CloudRedisClientTest.java
index fc504735f3fb..c8d81e44f1ab 100644
--- a/google-cloud-clients/google-cloud-redis/src/test/java/com/google/cloud/redis/v1/CloudRedisClientTest.java
+++ b/google-cloud-clients/google-cloud-redis/src/test/java/com/google/cloud/redis/v1/CloudRedisClientTest.java
@@ -446,18 +446,18 @@ public void failoverInstanceTest() throws Exception {
             .build();
     mockCloudRedis.addResponse(resultOperation);
 
-    String formattedName = InstanceName.format("[PROJECT]", "[LOCATION]", "[INSTANCE]");
+    InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
     FailoverInstanceRequest.DataProtectionMode dataProtectionMode =
         FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
 
-    Instance actualResponse = client.failoverInstanceAsync(formattedName, dataProtectionMode).get();
+    Instance actualResponse = client.failoverInstanceAsync(name, dataProtectionMode).get();
     Assert.assertEquals(expectedResponse, actualResponse);
 
     List actualRequests = mockCloudRedis.getRequests();
     Assert.assertEquals(1, actualRequests.size());
     FailoverInstanceRequest actualRequest = (FailoverInstanceRequest) actualRequests.get(0);
 
-    Assert.assertEquals(formattedName, actualRequest.getName());
+    Assert.assertEquals(name, InstanceName.parse(actualRequest.getName()));
     Assert.assertEquals(dataProtectionMode, actualRequest.getDataProtectionMode());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
@@ -472,11 +472,11 @@ public void failoverInstanceExceptionTest() throws Exception {
     mockCloudRedis.addException(exception);
 
     try {
-      String formattedName = InstanceName.format("[PROJECT]", "[LOCATION]", "[INSTANCE]");
+      InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
       FailoverInstanceRequest.DataProtectionMode dataProtectionMode =
           FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED;
 
-      client.failoverInstanceAsync(formattedName, dataProtectionMode).get();
+      client.failoverInstanceAsync(name, dataProtectionMode).get();
       Assert.fail("No exception raised");
     } catch (ExecutionException e) {
       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());