Class CloudRedisClient (2.3.0)

public class CloudRedisClient implements BackgroundResource

Service Description: Configures and manages Cloud Memorystore for Redis instances

Google Cloud Memorystore for Redis v1beta1

The redis.googleapis.com service implements the Google Cloud Memorystore for Redis API and defines the following resource model for managing Redis instances:

  • The service works with a collection of cloud projects, named: /projects/*
  • Each project has a collection of available locations, named: /locations/*
  • Each location has a collection of Redis instances, named: /instances/*
  • As such, Redis instances are resources of the form: /projects/{project_id}/locations/{location_id}/instances/{instance_id}

Note that location_id must be referring to a GCP region; for example:

  • projects/redpepper-1290/locations/us-central1/instances/my-redis

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
   Instance response = cloudRedisClient.getInstance(name);
 }
 

Note: close() needs to be called on the CloudRedisClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of CloudRedisSettings to create(). For example:

To customize credentials:


 CloudRedisSettings cloudRedisSettings =
     CloudRedisSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 CloudRedisClient cloudRedisClient = CloudRedisClient.create(cloudRedisSettings);
 

To customize the endpoint:


 CloudRedisSettings cloudRedisSettings =
     CloudRedisSettings.newBuilder().setEndpoint(myEndpoint).build();
 CloudRedisClient cloudRedisClient = CloudRedisClient.create(cloudRedisSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > CloudRedisClient

Implements

BackgroundResource

Static Methods

create()

public static final CloudRedisClient create()

Constructs an instance of CloudRedisClient with default settings.

Returns
TypeDescription
CloudRedisClient
Exceptions
TypeDescription
IOException

create(CloudRedisSettings settings)

public static final CloudRedisClient create(CloudRedisSettings settings)

Constructs an instance of CloudRedisClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsCloudRedisSettings
Returns
TypeDescription
CloudRedisClient
Exceptions
TypeDescription
IOException

create(CloudRedisStub stub)

public static final CloudRedisClient create(CloudRedisStub stub)

Constructs an instance of CloudRedisClient, using the given stub for making calls. This is for advanced usage - prefer using create(CloudRedisSettings).

Parameter
NameDescription
stubCloudRedisStub
Returns
TypeDescription
CloudRedisClient

Constructors

CloudRedisClient(CloudRedisSettings settings)

protected CloudRedisClient(CloudRedisSettings settings)

Constructs an instance of CloudRedisClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsCloudRedisSettings

CloudRedisClient(CloudRedisStub stub)

protected CloudRedisClient(CloudRedisStub stub)
Parameter
NameDescription
stubCloudRedisStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

createInstanceAsync(CreateInstanceRequest request)

public final OperationFuture<Instance,Any> createInstanceAsync(CreateInstanceRequest request)

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. The completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   CreateInstanceRequest request =
       CreateInstanceRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setInstanceId("instanceId902024336")
           .setInstance(Instance.newBuilder().build())
           .build();
   Instance response = cloudRedisClient.createInstanceAsync(request).get();
 }
 
Parameter
NameDescription
requestCreateInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Instance,Any>

createInstanceAsync(LocationName parent, String instanceId, Instance instance)

public final OperationFuture<Instance,Any> createInstanceAsync(LocationName parent, String instanceId, Instance instance)

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. The completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
   String instanceId = "instanceId902024336";
   Instance instance = Instance.newBuilder().build();
   Instance response = cloudRedisClient.createInstanceAsync(parent, instanceId, instance).get();
 }
 
Parameters
NameDescription
parentLocationName

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

instanceIdString

Required. The logical name of the Redis instance in the customer project with the following restrictions:

  • Must contain only lowercase letters, numbers, and hyphens.
  • Must start with a letter.
  • Must be between 1-40 characters.
  • Must end with a number or a letter.
  • Must be unique within the customer project / location

instanceInstance

Required. A Redis [Instance] resource

Returns
TypeDescription
OperationFuture<Instance,Any>

createInstanceAsync(String parent, String instanceId, Instance instance)

public final OperationFuture<Instance,Any> createInstanceAsync(String parent, String instanceId, Instance instance)

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. The completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
   String instanceId = "instanceId902024336";
   Instance instance = Instance.newBuilder().build();
   Instance response = cloudRedisClient.createInstanceAsync(parent, instanceId, instance).get();
 }
 
Parameters
NameDescription
parentString

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

instanceIdString

Required. The logical name of the Redis instance in the customer project with the following restrictions:

  • Must contain only lowercase letters, numbers, and hyphens.
  • Must start with a letter.
  • Must be between 1-40 characters.
  • Must end with a number or a letter.
  • Must be unique within the customer project / location

instanceInstance

Required. A Redis [Instance] resource

Returns
TypeDescription
OperationFuture<Instance,Any>

createInstanceCallable()

public final UnaryCallable<CreateInstanceRequest,Operation> createInstanceCallable()

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. The completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   CreateInstanceRequest request =
       CreateInstanceRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setInstanceId("instanceId902024336")
           .setInstance(Instance.newBuilder().build())
           .build();
   ApiFuture<Operation> future = cloudRedisClient.createInstanceCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateInstanceRequest,Operation>

createInstanceOperationCallable()

public final OperationCallable<CreateInstanceRequest,Instance,Any> createInstanceOperationCallable()

Creates a Redis instance based on the specified tier and memory size.

By default, the instance is accessible from the project's default network.

The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. The completed longrunning.Operation will contain the new instance object in the response field.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   CreateInstanceRequest request =
       CreateInstanceRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setInstanceId("instanceId902024336")
           .setInstance(Instance.newBuilder().build())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<CreateInstanceRequest,Instance,Any>

deleteInstanceAsync(DeleteInstanceRequest request)

public final OperationFuture<Empty,Any> deleteInstanceAsync(DeleteInstanceRequest request)

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   DeleteInstanceRequest request =
       DeleteInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   cloudRedisClient.deleteInstanceAsync(request).get();
 }
 
Parameter
NameDescription
requestDeleteInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Empty,Any>

deleteInstanceAsync(InstanceName name)

public final OperationFuture<Empty,Any> deleteInstanceAsync(InstanceName name)

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
   cloudRedisClient.deleteInstanceAsync(name).get();
 }
 
Parameter
NameDescription
nameInstanceName

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.

Returns
TypeDescription
OperationFuture<Empty,Any>

deleteInstanceAsync(String name)

public final OperationFuture<Empty,Any> deleteInstanceAsync(String name)

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
   cloudRedisClient.deleteInstanceAsync(name).get();
 }
 
Parameter
NameDescription
nameString

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.

Returns
TypeDescription
OperationFuture<Empty,Any>

deleteInstanceCallable()

public final UnaryCallable<DeleteInstanceRequest,Operation> deleteInstanceCallable()

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   DeleteInstanceRequest request =
       DeleteInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   ApiFuture<Operation> future = cloudRedisClient.deleteInstanceCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteInstanceRequest,Operation>

deleteInstanceOperationCallable()

public final OperationCallable<DeleteInstanceRequest,Empty,Any> deleteInstanceOperationCallable()

Deletes a specific Redis instance. Instance stops serving and data is deleted.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   DeleteInstanceRequest request =
       DeleteInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<DeleteInstanceRequest,Empty,Any>

exportInstanceAsync(ExportInstanceRequest request)

public final OperationFuture<Instance,Any> exportInstanceAsync(ExportInstanceRequest request)

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ExportInstanceRequest request =
       ExportInstanceRequest.newBuilder()
           .setName("name3373707")
           .setOutputConfig(OutputConfig.newBuilder().build())
           .build();
   Instance response = cloudRedisClient.exportInstanceAsync(request).get();
 }
 
Parameter
NameDescription
requestExportInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Instance,Any>

exportInstanceAsync(String name, OutputConfig outputConfig)

public final OperationFuture<Instance,Any> exportInstanceAsync(String name, OutputConfig outputConfig)

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = "name3373707";
   OutputConfig outputConfig = OutputConfig.newBuilder().build();
   Instance response = cloudRedisClient.exportInstanceAsync(name, outputConfig).get();
 }
 
Parameters
NameDescription
nameString

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.

outputConfigOutputConfig

Required. Specify data to be exported.

Returns
TypeDescription
OperationFuture<Instance,Any>

exportInstanceCallable()

public final UnaryCallable<ExportInstanceRequest,Operation> exportInstanceCallable()

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ExportInstanceRequest request =
       ExportInstanceRequest.newBuilder()
           .setName("name3373707")
           .setOutputConfig(OutputConfig.newBuilder().build())
           .build();
   ApiFuture<Operation> future = cloudRedisClient.exportInstanceCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<ExportInstanceRequest,Operation>

exportInstanceOperationCallable()

public final OperationCallable<ExportInstanceRequest,Instance,Any> exportInstanceOperationCallable()

Export Redis instance data into a Redis RDB format file in Cloud Storage.

Redis will continue serving during this operation.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ExportInstanceRequest request =
       ExportInstanceRequest.newBuilder()
           .setName("name3373707")
           .setOutputConfig(OutputConfig.newBuilder().build())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<ExportInstanceRequest,Instance,Any>

failoverInstanceAsync(FailoverInstanceRequest request)

public final OperationFuture<Instance,Any> failoverInstanceAsync(FailoverInstanceRequest request)

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   FailoverInstanceRequest request =
       FailoverInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   Instance response = cloudRedisClient.failoverInstanceAsync(request).get();
 }
 
Parameter
NameDescription
requestFailoverInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Instance,Any>

failoverInstanceAsync(InstanceName name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode)

public final OperationFuture<Instance,Any> failoverInstanceAsync(InstanceName name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode)

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
   FailoverInstanceRequest.DataProtectionMode dataProtectionMode =
       FailoverInstanceRequest.DataProtectionMode.forNumber(0);
   Instance response = cloudRedisClient.failoverInstanceAsync(name, dataProtectionMode).get();
 }
 
Parameters
NameDescription
nameInstanceName

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.

dataProtectionModeFailoverInstanceRequest.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.

Returns
TypeDescription
OperationFuture<Instance,Any>

failoverInstanceAsync(String name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode)

public final OperationFuture<Instance,Any> failoverInstanceAsync(String name, FailoverInstanceRequest.DataProtectionMode dataProtectionMode)

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
   FailoverInstanceRequest.DataProtectionMode dataProtectionMode =
       FailoverInstanceRequest.DataProtectionMode.forNumber(0);
   Instance response = cloudRedisClient.failoverInstanceAsync(name, dataProtectionMode).get();
 }
 
Parameters
NameDescription
nameString

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.

dataProtectionModeFailoverInstanceRequest.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.

Returns
TypeDescription
OperationFuture<Instance,Any>

failoverInstanceCallable()

public final UnaryCallable<FailoverInstanceRequest,Operation> failoverInstanceCallable()

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   FailoverInstanceRequest request =
       FailoverInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   ApiFuture<Operation> future = cloudRedisClient.failoverInstanceCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<FailoverInstanceRequest,Operation>

failoverInstanceOperationCallable()

public final OperationCallable<FailoverInstanceRequest,Instance,Any> failoverInstanceOperationCallable()

Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   FailoverInstanceRequest request =
       FailoverInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<FailoverInstanceRequest,Instance,Any>

getInstance(GetInstanceRequest request)

public final Instance getInstance(GetInstanceRequest request)

Gets the details of a specific Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   GetInstanceRequest request =
       GetInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   Instance response = cloudRedisClient.getInstance(request);
 }
 
Parameter
NameDescription
requestGetInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Instance

getInstance(InstanceName name)

public final Instance getInstance(InstanceName name)

Gets the details of a specific Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
   Instance response = cloudRedisClient.getInstance(name);
 }
 
Parameter
NameDescription
nameInstanceName

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.

Returns
TypeDescription
Instance

getInstance(String name)

public final Instance getInstance(String name)

Gets the details of a specific Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
   Instance response = cloudRedisClient.getInstance(name);
 }
 
Parameter
NameDescription
nameString

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.

Returns
TypeDescription
Instance

getInstanceAuthString(GetInstanceAuthStringRequest request)

public final InstanceAuthString getInstanceAuthString(GetInstanceAuthStringRequest request)

Gets the AUTH string for a Redis instance. If AUTH is not enabled for the instance the response will be empty. This information is not included in the details returned to GetInstance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   GetInstanceAuthStringRequest request =
       GetInstanceAuthStringRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   InstanceAuthString response = cloudRedisClient.getInstanceAuthString(request);
 }
 
Parameter
NameDescription
requestGetInstanceAuthStringRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
InstanceAuthString

getInstanceAuthString(InstanceName name)

public final InstanceAuthString getInstanceAuthString(InstanceName name)

Gets the AUTH string for a Redis instance. If AUTH is not enabled for the instance the response will be empty. This information is not included in the details returned to GetInstance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
   InstanceAuthString response = cloudRedisClient.getInstanceAuthString(name);
 }
 
Parameter
NameDescription
nameInstanceName

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.

Returns
TypeDescription
InstanceAuthString

getInstanceAuthString(String name)

public final InstanceAuthString getInstanceAuthString(String name)

Gets the AUTH string for a Redis instance. If AUTH is not enabled for the instance the response will be empty. This information is not included in the details returned to GetInstance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
   InstanceAuthString response = cloudRedisClient.getInstanceAuthString(name);
 }
 
Parameter
NameDescription
nameString

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.

Returns
TypeDescription
InstanceAuthString

getInstanceAuthStringCallable()

public final UnaryCallable<GetInstanceAuthStringRequest,InstanceAuthString> getInstanceAuthStringCallable()

Gets the AUTH string for a Redis instance. If AUTH is not enabled for the instance the response will be empty. This information is not included in the details returned to GetInstance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   GetInstanceAuthStringRequest request =
       GetInstanceAuthStringRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<GetInstanceAuthStringRequest,InstanceAuthString>

getInstanceCallable()

public final UnaryCallable<GetInstanceRequest,Instance> getInstanceCallable()

Gets the details of a specific Redis instance.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   GetInstanceRequest request =
       GetInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .build();
   ApiFuture<Instance> future = cloudRedisClient.getInstanceCallable().futureCall(request);
   // Do something.
   Instance response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetInstanceRequest,Instance>

getOperationsClient()

public final OperationsClient getOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
TypeDescription
OperationsClient

getSettings()

public final CloudRedisSettings getSettings()
Returns
TypeDescription
CloudRedisSettings

getStub()

public CloudRedisStub getStub()
Returns
TypeDescription
CloudRedisStub

importInstanceAsync(ImportInstanceRequest request)

public final OperationFuture<Instance,Any> importInstanceAsync(ImportInstanceRequest request)

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ImportInstanceRequest request =
       ImportInstanceRequest.newBuilder()
           .setName("name3373707")
           .setInputConfig(InputConfig.newBuilder().build())
           .build();
   Instance response = cloudRedisClient.importInstanceAsync(request).get();
 }
 
Parameter
NameDescription
requestImportInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Instance,Any>

importInstanceAsync(String name, InputConfig inputConfig)

public final OperationFuture<Instance,Any> importInstanceAsync(String name, InputConfig inputConfig)

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = "name3373707";
   InputConfig inputConfig = InputConfig.newBuilder().build();
   Instance response = cloudRedisClient.importInstanceAsync(name, inputConfig).get();
 }
 
Parameters
NameDescription
nameString

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.

inputConfigInputConfig

Required. Specify data to be imported.

Returns
TypeDescription
OperationFuture<Instance,Any>

importInstanceCallable()

public final UnaryCallable<ImportInstanceRequest,Operation> importInstanceCallable()

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ImportInstanceRequest request =
       ImportInstanceRequest.newBuilder()
           .setName("name3373707")
           .setInputConfig(InputConfig.newBuilder().build())
           .build();
   ApiFuture<Operation> future = cloudRedisClient.importInstanceCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<ImportInstanceRequest,Operation>

importInstanceOperationCallable()

public final OperationCallable<ImportInstanceRequest,Instance,Any> importInstanceOperationCallable()

Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.

Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file.

The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ImportInstanceRequest request =
       ImportInstanceRequest.newBuilder()
           .setName("name3373707")
           .setInputConfig(InputConfig.newBuilder().build())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<ImportInstanceRequest,Instance,Any>

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listInstances(ListInstancesRequest request)

public final CloudRedisClient.ListInstancesPagedResponse listInstances(ListInstancesRequest request)

Lists all Redis instances owned by a project in either the specified location (region) or all locations.

The location should have the following format:

  • projects/{project_id}/locations/{location_id}

If location_id is specified as - (wildcard), then all regions available to the project are queried, and the results are aggregated.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ListInstancesRequest request =
       ListInstancesRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (Instance element : cloudRedisClient.listInstances(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListInstancesRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
CloudRedisClient.ListInstancesPagedResponse

listInstances(LocationName parent)

public final CloudRedisClient.ListInstancesPagedResponse listInstances(LocationName parent)

Lists all Redis instances owned by a project in either the specified location (region) or all locations.

The location should have the following format:

  • projects/{project_id}/locations/{location_id}

If location_id is specified as - (wildcard), then all regions available to the project are queried, and the results are aggregated.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
   for (Instance element : cloudRedisClient.listInstances(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentLocationName

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

Returns
TypeDescription
CloudRedisClient.ListInstancesPagedResponse

listInstances(String parent)

public final CloudRedisClient.ListInstancesPagedResponse listInstances(String parent)

Lists all Redis instances owned by a project in either the specified location (region) or all locations.

The location should have the following format:

  • projects/{project_id}/locations/{location_id}

If location_id is specified as - (wildcard), then all regions available to the project are queried, and the results are aggregated.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
   for (Instance element : cloudRedisClient.listInstances(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. The resource name of the instance location using the form: projects/{project_id}/locations/{location_id} where location_id refers to a GCP region.

Returns
TypeDescription
CloudRedisClient.ListInstancesPagedResponse

listInstancesCallable()

public final UnaryCallable<ListInstancesRequest,ListInstancesResponse> listInstancesCallable()

Lists all Redis instances owned by a project in either the specified location (region) or all locations.

The location should have the following format:

  • projects/{project_id}/locations/{location_id}

If location_id is specified as - (wildcard), then all regions available to the project are queried, and the results are aggregated.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ListInstancesRequest request =
       ListInstancesRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     ListInstancesResponse response = cloudRedisClient.listInstancesCallable().call(request);
     for (Instance element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListInstancesRequest,ListInstancesResponse>

listInstancesPagedCallable()

public final UnaryCallable<ListInstancesRequest,CloudRedisClient.ListInstancesPagedResponse> listInstancesPagedCallable()

Lists all Redis instances owned by a project in either the specified location (region) or all locations.

The location should have the following format:

  • projects/{project_id}/locations/{location_id}

If location_id is specified as - (wildcard), then all regions available to the project are queried, and the results are aggregated.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   ListInstancesRequest request =
       ListInstancesRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture<Instance> future =
       cloudRedisClient.listInstancesPagedCallable().futureCall(request);
   // Do something.
   for (Instance element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListInstancesRequest,ListInstancesPagedResponse>

rescheduleMaintenanceAsync(InstanceName name, RescheduleMaintenanceRequest.RescheduleType rescheduleType, Timestamp scheduleTime)

public final OperationFuture<Instance,Any> rescheduleMaintenanceAsync(InstanceName name, RescheduleMaintenanceRequest.RescheduleType rescheduleType, Timestamp scheduleTime)

Reschedule maintenance for a given instance in a given project and location.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
   RescheduleMaintenanceRequest.RescheduleType rescheduleType =
       RescheduleMaintenanceRequest.RescheduleType.forNumber(0);
   Timestamp scheduleTime = Timestamp.newBuilder().build();
   Instance response =
       cloudRedisClient.rescheduleMaintenanceAsync(name, rescheduleType, scheduleTime).get();
 }
 
Parameters
NameDescription
nameInstanceName

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.

rescheduleTypeRescheduleMaintenanceRequest.RescheduleType

Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.

scheduleTimeTimestamp

Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.

Returns
TypeDescription
OperationFuture<Instance,Any>

rescheduleMaintenanceAsync(RescheduleMaintenanceRequest request)

public final OperationFuture<Instance,Any> rescheduleMaintenanceAsync(RescheduleMaintenanceRequest request)

Reschedule maintenance for a given instance in a given project and location.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   RescheduleMaintenanceRequest request =
       RescheduleMaintenanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .setScheduleTime(Timestamp.newBuilder().build())
           .build();
   Instance response = cloudRedisClient.rescheduleMaintenanceAsync(request).get();
 }
 
Parameter
NameDescription
requestRescheduleMaintenanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Instance,Any>

rescheduleMaintenanceAsync(String name, RescheduleMaintenanceRequest.RescheduleType rescheduleType, Timestamp scheduleTime)

public final OperationFuture<Instance,Any> rescheduleMaintenanceAsync(String name, RescheduleMaintenanceRequest.RescheduleType rescheduleType, Timestamp scheduleTime)

Reschedule maintenance for a given instance in a given project and location.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
   RescheduleMaintenanceRequest.RescheduleType rescheduleType =
       RescheduleMaintenanceRequest.RescheduleType.forNumber(0);
   Timestamp scheduleTime = Timestamp.newBuilder().build();
   Instance response =
       cloudRedisClient.rescheduleMaintenanceAsync(name, rescheduleType, scheduleTime).get();
 }
 
Parameters
NameDescription
nameString

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.

rescheduleTypeRescheduleMaintenanceRequest.RescheduleType

Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.

scheduleTimeTimestamp

Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.

Returns
TypeDescription
OperationFuture<Instance,Any>

rescheduleMaintenanceCallable()

public final UnaryCallable<RescheduleMaintenanceRequest,Operation> rescheduleMaintenanceCallable()

Reschedule maintenance for a given instance in a given project and location.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   RescheduleMaintenanceRequest request =
       RescheduleMaintenanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .setScheduleTime(Timestamp.newBuilder().build())
           .build();
   ApiFuture<Operation> future =
       cloudRedisClient.rescheduleMaintenanceCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<RescheduleMaintenanceRequest,Operation>

rescheduleMaintenanceOperationCallable()

public final OperationCallable<RescheduleMaintenanceRequest,Instance,Any> rescheduleMaintenanceOperationCallable()

Reschedule maintenance for a given instance in a given project and location.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   RescheduleMaintenanceRequest request =
       RescheduleMaintenanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .setScheduleTime(Timestamp.newBuilder().build())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<RescheduleMaintenanceRequest,Instance,Any>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateInstanceAsync(UpdateInstanceRequest request)

public final OperationFuture<Instance,Any> updateInstanceAsync(UpdateInstanceRequest request)

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   UpdateInstanceRequest request =
       UpdateInstanceRequest.newBuilder()
           .setUpdateMask(FieldMask.newBuilder().build())
           .setInstance(Instance.newBuilder().build())
           .build();
   Instance response = cloudRedisClient.updateInstanceAsync(request).get();
 }
 
Parameter
NameDescription
requestUpdateInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Instance,Any>

updateInstanceAsync(FieldMask updateMask, Instance instance)

public final OperationFuture<Instance,Any> updateInstanceAsync(FieldMask updateMask, Instance instance)

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   FieldMask updateMask = FieldMask.newBuilder().build();
   Instance instance = Instance.newBuilder().build();
   Instance response = cloudRedisClient.updateInstanceAsync(updateMask, instance).get();
 }
 
Parameters
NameDescription
updateMaskFieldMask

Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Instance:

* displayName * labels * memorySizeGb * redisConfig * replica_count

instanceInstance

Required. Update description. Only fields specified in update_mask are updated.

Returns
TypeDescription
OperationFuture<Instance,Any>

updateInstanceCallable()

public final UnaryCallable<UpdateInstanceRequest,Operation> updateInstanceCallable()

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   UpdateInstanceRequest request =
       UpdateInstanceRequest.newBuilder()
           .setUpdateMask(FieldMask.newBuilder().build())
           .setInstance(Instance.newBuilder().build())
           .build();
   ApiFuture<Operation> future = cloudRedisClient.updateInstanceCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateInstanceRequest,Operation>

updateInstanceOperationCallable()

public final OperationCallable<UpdateInstanceRequest,Instance,Any> updateInstanceOperationCallable()

Updates the metadata and configuration of a specific Redis instance.

Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   UpdateInstanceRequest request =
       UpdateInstanceRequest.newBuilder()
           .setUpdateMask(FieldMask.newBuilder().build())
           .setInstance(Instance.newBuilder().build())
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<UpdateInstanceRequest,Instance,Any>

upgradeInstanceAsync(InstanceName name, String redisVersion)

public final OperationFuture<Instance,Any> upgradeInstanceAsync(InstanceName name, String redisVersion)

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
   String redisVersion = "redisVersion-1972584739";
   Instance response = cloudRedisClient.upgradeInstanceAsync(name, redisVersion).get();
 }
 
Parameters
NameDescription
nameInstanceName

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.

redisVersionString

Required. Specifies the target version of Redis software to upgrade to.

Returns
TypeDescription
OperationFuture<Instance,Any>

upgradeInstanceAsync(UpgradeInstanceRequest request)

public final OperationFuture<Instance,Any> upgradeInstanceAsync(UpgradeInstanceRequest request)

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   UpgradeInstanceRequest request =
       UpgradeInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .setRedisVersion("redisVersion-1972584739")
           .build();
   Instance response = cloudRedisClient.upgradeInstanceAsync(request).get();
 }
 
Parameter
NameDescription
requestUpgradeInstanceRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Instance,Any>

upgradeInstanceAsync(String name, String redisVersion)

public final OperationFuture<Instance,Any> upgradeInstanceAsync(String name, String redisVersion)

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
   String redisVersion = "redisVersion-1972584739";
   Instance response = cloudRedisClient.upgradeInstanceAsync(name, redisVersion).get();
 }
 
Parameters
NameDescription
nameString

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.

redisVersionString

Required. Specifies the target version of Redis software to upgrade to.

Returns
TypeDescription
OperationFuture<Instance,Any>

upgradeInstanceCallable()

public final UnaryCallable<UpgradeInstanceRequest,Operation> upgradeInstanceCallable()

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   UpgradeInstanceRequest request =
       UpgradeInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .setRedisVersion("redisVersion-1972584739")
           .build();
   ApiFuture<Operation> future = cloudRedisClient.upgradeInstanceCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpgradeInstanceRequest,Operation>

upgradeInstanceOperationCallable()

public final OperationCallable<UpgradeInstanceRequest,Instance,Any> upgradeInstanceOperationCallable()

Upgrades Redis instance to the newer Redis version specified in the request.

Sample code:


 try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
   UpgradeInstanceRequest request =
       UpgradeInstanceRequest.newBuilder()
           .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
           .setRedisVersion("redisVersion-1972584739")
           .build();
   OperationFuture
Returns
TypeDescription
OperationCallable<UpgradeInstanceRequest,Instance,Any>