Class CloudRedisClient

  • All Implemented Interfaces:
    com.google.api.gax.core.BackgroundResource, AutoCloseable

    @Generated("by gapic-generator-java")
    public class CloudRedisClient
    extends Object
    implements com.google.api.gax.core.BackgroundResource
    Service Description: Configures and manages Cloud Memorystore for Redis instances

    Google Cloud Memorystore for Redis v1

    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:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     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:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     CloudRedisSettings cloudRedisSettings =
         CloudRedisSettings.newBuilder()
             .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
             .build();
     CloudRedisClient cloudRedisClient = CloudRedisClient.create(cloudRedisSettings);
     

    To customize the endpoint:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     CloudRedisSettings cloudRedisSettings =
         CloudRedisSettings.newBuilder().setEndpoint(myEndpoint).build();
     CloudRedisClient cloudRedisClient = CloudRedisClient.create(cloudRedisSettings);
     

    To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     CloudRedisSettings cloudRedisSettings = CloudRedisSettings.newHttpJsonBuilder().build();
     CloudRedisClient cloudRedisClient = CloudRedisClient.create(cloudRedisSettings);
     

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

    • Constructor Detail

      • CloudRedisClient

        protected CloudRedisClient​(CloudRedisSettings settings)
                            throws IOException
        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.
        Throws:
        IOException
      • CloudRedisClient

        protected CloudRedisClient​(CloudRedisStub stub)
    • Method Detail

      • create

        public static final CloudRedisClient create​(CloudRedisSettings settings)
                                             throws IOException
        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.
        Throws:
        IOException
      • create

        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).
      • getOperationsClient

        public final com.google.longrunning.OperationsClient getOperationsClient()
        Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
      • getHttpJsonOperationsClient

        @BetaApi
        public final com.google.api.gax.httpjson.longrunning.OperationsClient getHttpJsonOperationsClient()
        Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
      • listInstances

        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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
           for (Instance element : cloudRedisClient.listInstances(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - 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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listInstances

        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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
           for (Instance element : cloudRedisClient.listInstances(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - 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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listInstances

        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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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);
           }
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listInstancesPagedCallable

        public final com.google.api.gax.rpc.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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);
           }
         }
         
      • listInstancesCallable

        public final com.google.api.gax.rpc.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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.getInstancesList()) {
               // doThingsWith(element);
             }
             String nextPageToken = response.getNextPageToken();
             if (!Strings.isNullOrEmpty(nextPageToken)) {
               request = request.toBuilder().setPageToken(nextPageToken).build();
             } else {
               break;
             }
           }
         }
         
      • getInstance

        public final Instance getInstance​(InstanceName name)
        Gets the details of a specific Redis instance.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
           Instance response = cloudRedisClient.getInstance(name);
         }
         
        Parameters:
        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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getInstance

        public final Instance getInstance​(String name)
        Gets the details of a specific Redis instance.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
           Instance response = cloudRedisClient.getInstance(name);
         }
         
        Parameters:
        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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getInstance

        public final Instance getInstance​(GetInstanceRequest request)
        Gets the details of a specific Redis instance.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           GetInstanceRequest request =
               GetInstanceRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .build();
           Instance response = cloudRedisClient.getInstance(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<GetInstanceRequest,​Instance> getInstanceCallable()
        Gets the details of a specific Redis instance.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • getInstanceAuthString

        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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
           InstanceAuthString response = cloudRedisClient.getInstanceAuthString(name);
         }
         
        Parameters:
        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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getInstanceAuthString

        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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
           InstanceAuthString response = cloudRedisClient.getInstanceAuthString(name);
         }
         
        Parameters:
        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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getInstanceAuthString

        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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           GetInstanceAuthStringRequest request =
               GetInstanceAuthStringRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .build();
           InstanceAuthString response = cloudRedisClient.getInstanceAuthString(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getInstanceAuthStringCallable

        public final com.google.api.gax.rpc.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           GetInstanceAuthStringRequest request =
               GetInstanceAuthStringRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .build();
           ApiFuture<InstanceAuthString> future =
               cloudRedisClient.getInstanceAuthStringCallable().futureCall(request);
           // Do something.
           InstanceAuthString response = future.get();
         }
         
      • createInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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](https://cloud.google.com/vpc/docs/vpc).

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

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        parent - 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.
        instanceId - 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
        instance - Required. A Redis [Instance] resource
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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](https://cloud.google.com/vpc/docs/vpc).

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

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        parent - 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.
        instanceId - 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
        instance - Required. A Redis [Instance] resource
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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](https://cloud.google.com/vpc/docs/vpc).

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

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createInstanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<CreateInstanceRequest,​Instance,​OperationMetadata> 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](https://cloud.google.com/vpc/docs/vpc).

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

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           CreateInstanceRequest request =
               CreateInstanceRequest.newBuilder()
                   .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
                   .setInstanceId("instanceId902024336")
                   .setInstance(Instance.newBuilder().build())
                   .build();
           OperationFuture<Instance, OperationMetadata> future =
               cloudRedisClient.createInstanceOperationCallable().futureCall(request);
           // Do something.
           Instance response = future.get();
         }
         
      • createInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<CreateInstanceRequest,​com.google.longrunning.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](https://cloud.google.com/vpc/docs/vpc).

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

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • updateInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> updateInstanceAsync​(com.google.protobuf.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           FieldMask updateMask = FieldMask.newBuilder().build();
           Instance instance = Instance.newBuilder().build();
           Instance response = cloudRedisClient.updateInstanceAsync(updateMask, instance).get();
         }
         
        Parameters:
        updateMask - 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][google.cloud.redis.v1.Instance]:

        * `displayName` * `labels` * `memorySizeGb` * `redisConfig` * `replica_count`

        instance - Required. Update description. Only fields specified in update_mask are updated.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • updateInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           UpdateInstanceRequest request =
               UpdateInstanceRequest.newBuilder()
                   .setUpdateMask(FieldMask.newBuilder().build())
                   .setInstance(Instance.newBuilder().build())
                   .build();
           Instance response = cloudRedisClient.updateInstanceAsync(request).get();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • updateInstanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<UpdateInstanceRequest,​Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           UpdateInstanceRequest request =
               UpdateInstanceRequest.newBuilder()
                   .setUpdateMask(FieldMask.newBuilder().build())
                   .setInstance(Instance.newBuilder().build())
                   .build();
           OperationFuture<Instance, OperationMetadata> future =
               cloudRedisClient.updateInstanceOperationCallable().futureCall(request);
           // Do something.
           Instance response = future.get();
         }
         
      • updateInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<UpdateInstanceRequest,​com.google.longrunning.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • upgradeInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> upgradeInstanceAsync​(InstanceName name,
                                                                                                                           String redisVersion)
        Upgrades Redis instance to the newer Redis version specified in the request.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
           String redisVersion = "redisVersion-1972584739";
           Instance response = cloudRedisClient.upgradeInstanceAsync(name, redisVersion).get();
         }
         
        Parameters:
        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.
        redisVersion - Required. Specifies the target version of Redis software to upgrade to.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • upgradeInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> upgradeInstanceAsync​(String name,
                                                                                                                           String redisVersion)
        Upgrades Redis instance to the newer Redis version specified in the request.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        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.
        redisVersion - Required. Specifies the target version of Redis software to upgrade to.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • upgradeInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> upgradeInstanceAsync​(UpgradeInstanceRequest request)
        Upgrades Redis instance to the newer Redis version specified in the request.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • upgradeInstanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<UpgradeInstanceRequest,​Instance,​OperationMetadata> upgradeInstanceOperationCallable()
        Upgrades Redis instance to the newer Redis version specified in the request.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           UpgradeInstanceRequest request =
               UpgradeInstanceRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .setRedisVersion("redisVersion-1972584739")
                   .build();
           OperationFuture<Instance, OperationMetadata> future =
               cloudRedisClient.upgradeInstanceOperationCallable().futureCall(request);
           // Do something.
           Instance response = future.get();
         }
         
      • upgradeInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<UpgradeInstanceRequest,​com.google.longrunning.Operation> upgradeInstanceCallable()
        Upgrades Redis instance to the newer Redis version specified in the request.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • importInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           String name = "name3373707";
           InputConfig inputConfig = InputConfig.newBuilder().build();
           Instance response = cloudRedisClient.importInstanceAsync(name, inputConfig).get();
         }
         
        Parameters:
        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.
        inputConfig - Required. Specify data to be imported.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • importInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           ImportInstanceRequest request =
               ImportInstanceRequest.newBuilder()
                   .setName("name3373707")
                   .setInputConfig(InputConfig.newBuilder().build())
                   .build();
           Instance response = cloudRedisClient.importInstanceAsync(request).get();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • importInstanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<ImportInstanceRequest,​Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           ImportInstanceRequest request =
               ImportInstanceRequest.newBuilder()
                   .setName("name3373707")
                   .setInputConfig(InputConfig.newBuilder().build())
                   .build();
           OperationFuture<Instance, OperationMetadata> future =
               cloudRedisClient.importInstanceOperationCallable().futureCall(request);
           // Do something.
           Instance response = future.get();
         }
         
      • importInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<ImportInstanceRequest,​com.google.longrunning.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • exportInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           String name = "name3373707";
           OutputConfig outputConfig = OutputConfig.newBuilder().build();
           Instance response = cloudRedisClient.exportInstanceAsync(name, outputConfig).get();
         }
         
        Parameters:
        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.
        outputConfig - Required. Specify data to be exported.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • exportInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           ExportInstanceRequest request =
               ExportInstanceRequest.newBuilder()
                   .setName("name3373707")
                   .setOutputConfig(OutputConfig.newBuilder().build())
                   .build();
           Instance response = cloudRedisClient.exportInstanceAsync(request).get();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • exportInstanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<ExportInstanceRequest,​Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           ExportInstanceRequest request =
               ExportInstanceRequest.newBuilder()
                   .setName("name3373707")
                   .setOutputConfig(OutputConfig.newBuilder().build())
                   .build();
           OperationFuture<Instance, OperationMetadata> future =
               cloudRedisClient.exportInstanceOperationCallable().futureCall(request);
           // Do something.
           Instance response = future.get();
         }
         
      • exportInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<ExportInstanceRequest,​com.google.longrunning.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • failoverInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        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.
        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
      • failoverInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        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.
        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
      • failoverInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> 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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           FailoverInstanceRequest request =
               FailoverInstanceRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .build();
           Instance response = cloudRedisClient.failoverInstanceAsync(request).get();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • failoverInstanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<FailoverInstanceRequest,​Instance,​OperationMetadata> failoverInstanceOperationCallable()
        Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           FailoverInstanceRequest request =
               FailoverInstanceRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .build();
           OperationFuture<Instance, OperationMetadata> future =
               cloudRedisClient.failoverInstanceOperationCallable().futureCall(request);
           // Do something.
           Instance response = future.get();
         }
         
      • failoverInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<FailoverInstanceRequest,​com.google.longrunning.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:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • deleteInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<com.google.protobuf.Empty,​OperationMetadata> deleteInstanceAsync​(InstanceName name)
        Deletes a specific Redis instance. Instance stops serving and data is deleted.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
           cloudRedisClient.deleteInstanceAsync(name).get();
         }
         
        Parameters:
        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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deleteInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<com.google.protobuf.Empty,​OperationMetadata> deleteInstanceAsync​(String name)
        Deletes a specific Redis instance. Instance stops serving and data is deleted.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
           cloudRedisClient.deleteInstanceAsync(name).get();
         }
         
        Parameters:
        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.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deleteInstanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<com.google.protobuf.Empty,​OperationMetadata> deleteInstanceAsync​(DeleteInstanceRequest request)
        Deletes a specific Redis instance. Instance stops serving and data is deleted.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           DeleteInstanceRequest request =
               DeleteInstanceRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .build();
           cloudRedisClient.deleteInstanceAsync(request).get();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deleteInstanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<DeleteInstanceRequest,​com.google.protobuf.Empty,​OperationMetadata> deleteInstanceOperationCallable()
        Deletes a specific Redis instance. Instance stops serving and data is deleted.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           DeleteInstanceRequest request =
               DeleteInstanceRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .build();
           OperationFuture<Empty, OperationMetadata> future =
               cloudRedisClient.deleteInstanceOperationCallable().futureCall(request);
           // Do something.
           future.get();
         }
         
      • deleteInstanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<DeleteInstanceRequest,​com.google.longrunning.Operation> deleteInstanceCallable()
        Deletes a specific Redis instance. Instance stops serving and data is deleted.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • rescheduleMaintenanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> rescheduleMaintenanceAsync​(InstanceName name,
                                                                                                                                 RescheduleMaintenanceRequest.RescheduleType rescheduleType,
                                                                                                                                 com.google.protobuf.Timestamp scheduleTime)
        Reschedule maintenance for a given instance in a given project and location.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        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.
        rescheduleType - Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
        scheduleTime - 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`.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • rescheduleMaintenanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> rescheduleMaintenanceAsync​(String name,
                                                                                                                                 RescheduleMaintenanceRequest.RescheduleType rescheduleType,
                                                                                                                                 com.google.protobuf.Timestamp scheduleTime)
        Reschedule maintenance for a given instance in a given project and location.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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:
        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.
        rescheduleType - Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
        scheduleTime - 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`.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • rescheduleMaintenanceAsync

        public final com.google.api.gax.longrunning.OperationFuture<Instance,​OperationMetadata> rescheduleMaintenanceAsync​(RescheduleMaintenanceRequest request)
        Reschedule maintenance for a given instance in a given project and location.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • rescheduleMaintenanceOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<RescheduleMaintenanceRequest,​Instance,​OperationMetadata> rescheduleMaintenanceOperationCallable()
        Reschedule maintenance for a given instance in a given project and location.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           RescheduleMaintenanceRequest request =
               RescheduleMaintenanceRequest.newBuilder()
                   .setName(InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString())
                   .setScheduleTime(Timestamp.newBuilder().build())
                   .build();
           OperationFuture<Instance, OperationMetadata> future =
               cloudRedisClient.rescheduleMaintenanceOperationCallable().futureCall(request);
           // Do something.
           Instance response = future.get();
         }
         
      • rescheduleMaintenanceCallable

        public final com.google.api.gax.rpc.UnaryCallable<RescheduleMaintenanceRequest,​com.google.longrunning.Operation> rescheduleMaintenanceCallable()
        Reschedule maintenance for a given instance in a given project and location.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         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();
         }
         
      • listLocations

        public final CloudRedisClient.ListLocationsPagedResponse listLocations​(com.google.cloud.location.ListLocationsRequest request)
        Lists information about the supported locations for this service.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           ListLocationsRequest request =
               ListLocationsRequest.newBuilder()
                   .setName("name3373707")
                   .setFilter("filter-1274492040")
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           for (Location element : cloudRedisClient.listLocations(request).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listLocationsPagedCallable

        public final com.google.api.gax.rpc.UnaryCallable<com.google.cloud.location.ListLocationsRequest,​CloudRedisClient.ListLocationsPagedResponse> listLocationsPagedCallable()
        Lists information about the supported locations for this service.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           ListLocationsRequest request =
               ListLocationsRequest.newBuilder()
                   .setName("name3373707")
                   .setFilter("filter-1274492040")
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           ApiFuture<Location> future =
               cloudRedisClient.listLocationsPagedCallable().futureCall(request);
           // Do something.
           for (Location element : future.get().iterateAll()) {
             // doThingsWith(element);
           }
         }
         
      • listLocationsCallable

        public final com.google.api.gax.rpc.UnaryCallable<com.google.cloud.location.ListLocationsRequest,​com.google.cloud.location.ListLocationsResponse> listLocationsCallable()
        Lists information about the supported locations for this service.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           ListLocationsRequest request =
               ListLocationsRequest.newBuilder()
                   .setName("name3373707")
                   .setFilter("filter-1274492040")
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           while (true) {
             ListLocationsResponse response = cloudRedisClient.listLocationsCallable().call(request);
             for (Location element : response.getLocationsList()) {
               // doThingsWith(element);
             }
             String nextPageToken = response.getNextPageToken();
             if (!Strings.isNullOrEmpty(nextPageToken)) {
               request = request.toBuilder().setPageToken(nextPageToken).build();
             } else {
               break;
             }
           }
         }
         
      • getLocation

        public final com.google.cloud.location.Location getLocation​(com.google.cloud.location.GetLocationRequest request)
        Gets information about a location.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
           Location response = cloudRedisClient.getLocation(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getLocationCallable

        public final com.google.api.gax.rpc.UnaryCallable<com.google.cloud.location.GetLocationRequest,​com.google.cloud.location.Location> getLocationCallable()
        Gets information about a location.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
           GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
           ApiFuture<Location> future = cloudRedisClient.getLocationCallable().futureCall(request);
           // Do something.
           Location response = future.get();
         }
         
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface com.google.api.gax.core.BackgroundResource
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface com.google.api.gax.core.BackgroundResource
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface com.google.api.gax.core.BackgroundResource
      • shutdownNow

        public void shutdownNow()
        Specified by:
        shutdownNow in interface com.google.api.gax.core.BackgroundResource