Client for Google Cloud Memorystore for Redis API#
-
class
google.cloud.redis_v1beta1.
CloudRedisClient
(transport=None, channel=None, credentials=None, client_config=None, client_info=None, client_options=None)[source]# Configures and manages Cloud Memorystore for Redis instances
Google Cloud Memorystore for Redis v1beta1
The
redis.googleapis.com
service implements the Google Cloud Memorystore for Redis API and defines the following resource model for managing Redis instances:The service works with a collection of cloud projects, named:
/projects/*
Each project has a collection of available locations, named:
/locations/*
Each location has a collection of Redis instances, named:
/instances/*
As such, Redis instances are resources of the form:
/projects/{project_id}/locations/{location_id}/instances/{instance_id}
Note that location_id must be refering to a GCP
region
; for example:projects/redpepper-1290/locations/us-central1/instances/my-redis
Constructor.
- Parameters
(Union[CloudRedisGrpcTransport, (transport) – Callable[[~.Credentials, type], ~.CloudRedisGrpcTransport]): A transport instance, responsible for actually making the API calls. The default transport uses the gRPC protocol. This argument may also be a callable which returns a transport instance. Callables will be sent the credentials as the first argument and the default transport class as the second argument.
channel (grpc.Channel) – DEPRECATED. A
Channel
instance through which to make calls. This argument is mutually exclusive withcredentials
; providing both will raise an exception.credentials (google.auth.credentials.Credentials) – The authorization credentials to attach to requests. These credentials identify this application to the service. If none are specified, the client will attempt to ascertain the credentials from the environment. This argument is mutually exclusive with providing a transport instance to
transport
; doing so will raise an exception.client_config (dict) – DEPRECATED. A dictionary of call options for each method. If not specified, the default configuration is used.
client_info (google.api_core.gapic_v1.client_info.ClientInfo) – The client info used to send a user-agent string along with API requests. If
None
, then default info will be used. Generally, you only need to set this if you’re developing your own client library.client_options (Union[dict, google.api_core.client_options.ClientOptions]) – Client options used to set user options on the client. API Endpoint should be set through client_options.
-
create_instance
(parent, instance_id, instance, retry=<object object>, timeout=<object object>, metadata=None)[source]# Creates a Redis instance based on the specified tier and memory size.
By default, the instance is accessible from the project’s default network.
The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. 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.
Example
>>> from google.cloud import redis_v1beta1 >>> from google.cloud.redis_v1beta1 import enums >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> parent = client.location_path('[PROJECT]', '[LOCATION]') >>> instance_id = 'test_instance' >>> tier = enums.Instance.Tier.BASIC >>> memory_size_gb = 1 >>> instance = {'tier': tier, 'memory_size_gb': memory_size_gb} >>> >>> response = client.create_instance(parent, instance_id, instance) >>> >>> def callback(operation_future): ... # Handle result. ... result = operation_future.result() >>> >>> response.add_done_callback(callback) >>> >>> # Handle metadata. >>> metadata = response.metadata()
- Parameters
parent (str) – Required. The resource name of the instance location using the form:
projects/{project_id}/locations/{location_id}
wherelocation_id
refers to a GCP region.instance_id (str) –
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 (Union[dict, Instance]) –
Required. A Redis [Instance] resource
If a dict is provided, it must be of the same form as the protobuf message
Instance
retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
_OperationFuture
instance.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.
-
delete_instance
(name, retry=<object object>, timeout=<object object>, metadata=None)[source]# Deletes a specific Redis instance. Instance stops serving and data is deleted.
Example
>>> from google.cloud import redis_v1beta1 >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> name = client.instance_path('[PROJECT]', '[LOCATION]', '[INSTANCE]') >>> >>> response = client.delete_instance(name) >>> >>> def callback(operation_future): ... # Handle result. ... result = operation_future.result() >>> >>> response.add_done_callback(callback) >>> >>> # Handle metadata. >>> metadata = response.metadata()
- Parameters
name (str) – Required. Redis instance resource name using the form:
projects/{project_id}/locations/{location_id}/instances/{instance_id}
wherelocation_id
refers to a GCP region.retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
_OperationFuture
instance.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.
-
enums
= <module 'google.cloud.redis_v1beta1.gapic.enums' from '/usr/local/lib/python3.7/site-packages/google/cloud/redis_v1beta1/gapic/enums.py'>#
-
export_instance
(name, output_config, retry=<object object>, timeout=<object object>, metadata=None)[source]# 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.
Example
>>> from google.cloud import redis_v1beta1 >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> name = client.instance_path('[PROJECT]', '[LOCATION]', '[INSTANCE]') >>> >>> # TODO: Initialize `output_config`: >>> output_config = {} >>> >>> response = client.export_instance(name, output_config) >>> >>> def callback(operation_future): ... # Handle result. ... result = operation_future.result() >>> >>> response.add_done_callback(callback) >>> >>> # Handle metadata. >>> metadata = response.metadata()
- Parameters
name (str) – Required. Redis instance resource name using the form:
projects/{project_id}/locations/{location_id}/instances/{instance_id}
wherelocation_id
refers to a GCP region.output_config (Union[dict, OutputConfig]) –
Required. Specify data to be exported.
If a dict is provided, it must be of the same form as the protobuf message
OutputConfig
retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
_OperationFuture
instance.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.
-
failover_instance
(name, data_protection_mode, retry=<object object>, timeout=<object object>, metadata=None)[source]# Initiates a failover of the master node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance.
Example
>>> from google.cloud import redis_v1beta1 >>> from google.cloud.redis_v1beta1 import enums >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> name = client.instance_path('[PROJECT]', '[LOCATION]', '[INSTANCE]') >>> >>> # TODO: Initialize `data_protection_mode`: >>> data_protection_mode = enums.FailoverInstanceRequest.DataProtectionMode.DATA_PROTECTION_MODE_UNSPECIFIED >>> >>> response = client.failover_instance(name, data_protection_mode) >>> >>> def callback(operation_future): ... # Handle result. ... result = operation_future.result() >>> >>> response.add_done_callback(callback) >>> >>> # Handle metadata. >>> metadata = response.metadata()
- Parameters
name (str) – Required. Redis instance resource name using the form:
projects/{project_id}/locations/{location_id}/instances/{instance_id}
wherelocation_id
refers to a GCP region.data_protection_mode (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.
retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
_OperationFuture
instance.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.
-
classmethod
from_service_account_file
(filename, *args, **kwargs)[source]# Creates an instance of this client using the provided credentials file.
- Parameters
filename (str) – The path to the service account private key json file.
args – Additional arguments to pass to the constructor.
kwargs – Additional arguments to pass to the constructor.
- Returns
The constructed client.
- Return type
-
classmethod
from_service_account_json
(filename, *args, **kwargs)# Creates an instance of this client using the provided credentials file.
- Parameters
filename (str) – The path to the service account private key json file.
args – Additional arguments to pass to the constructor.
kwargs – Additional arguments to pass to the constructor.
- Returns
The constructed client.
- Return type
-
get_instance
(name, retry=<object object>, timeout=<object object>, metadata=None)[source]# Gets the details of a specific Redis instance.
Example
>>> from google.cloud import redis_v1beta1 >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> name = client.instance_path('[PROJECT]', '[LOCATION]', '[INSTANCE]') >>> >>> response = client.get_instance(name)
- Parameters
name (str) – Required. Redis instance resource name using the form:
projects/{project_id}/locations/{location_id}/instances/{instance_id}
wherelocation_id
refers to a GCP region.retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
Instance
instance.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.
-
import_instance
(name, input_config, retry=<object object>, timeout=<object object>, metadata=None)[source]# 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.
Example
>>> from google.cloud import redis_v1beta1 >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> name = client.instance_path('[PROJECT]', '[LOCATION]', '[INSTANCE]') >>> >>> # TODO: Initialize `input_config`: >>> input_config = {} >>> >>> response = client.import_instance(name, input_config) >>> >>> def callback(operation_future): ... # Handle result. ... result = operation_future.result() >>> >>> response.add_done_callback(callback) >>> >>> # Handle metadata. >>> metadata = response.metadata()
- Parameters
name (str) – Required. Redis instance resource name using the form:
projects/{project_id}/locations/{location_id}/instances/{instance_id}
wherelocation_id
refers to a GCP region.input_config (Union[dict, InputConfig]) –
Required. Specify data to be imported.
If a dict is provided, it must be of the same form as the protobuf message
InputConfig
retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
_OperationFuture
instance.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.
-
classmethod
instance_path
(project, location, instance)[source]# Return a fully-qualified instance string.
-
list_instances
(parent, page_size=None, retry=<object object>, timeout=<object object>, metadata=None)[source]# 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.Example
>>> from google.cloud import redis_v1beta1 >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> parent = client.location_path('[PROJECT]', '[LOCATION]') >>> >>> # Iterate over all results >>> for element in client.list_instances(parent): ... # process element ... pass >>> >>> >>> # Alternatively: >>> >>> # Iterate over results one page at a time >>> for page in client.list_instances(parent).pages: ... for element in page: ... # process element ... pass
- Parameters
parent (str) – Required. The resource name of the instance location using the form:
projects/{project_id}/locations/{location_id}
wherelocation_id
refers to a GCP region.page_size (int) – The maximum number of resources contained in the underlying API response. If page streaming is performed per- resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.
retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
PageIterator
instance. An iterable ofInstance
instances. You can also iterate over the pages of the response using its pages property.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.
-
update_instance
(update_mask, instance, retry=<object object>, timeout=<object object>, metadata=None)[source]# 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.
Example
>>> from google.cloud import redis_v1beta1 >>> >>> client = redis_v1beta1.CloudRedisClient() >>> >>> paths_element = 'display_name' >>> paths_element_2 = 'memory_size_gb' >>> paths = [paths_element, paths_element_2] >>> update_mask = {'paths': paths} >>> display_name = 'UpdatedDisplayName' >>> memory_size_gb = 4 >>> instance = {'display_name': display_name, 'memory_size_gb': memory_size_gb} >>> >>> response = client.update_instance(update_mask, instance) >>> >>> def callback(operation_future): ... # Handle result. ... result = operation_future.result() >>> >>> response.add_done_callback(callback) >>> >>> # Handle metadata. >>> metadata = response.metadata()
- Parameters
update_mask (Union[dict, FieldMask]) –
Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from
Instance
:displayName
labels
memorySizeGb
redisConfig
If a dict is provided, it must be of the same form as the protobuf message
FieldMask
instance (Union[dict, Instance]) –
Required. Update description. Only fields specified in update_mask are updated.
If a dict is provided, it must be of the same form as the protobuf message
Instance
retry (Optional[google.api_core.retry.Retry]) – A retry object used to retry requests. If
None
is specified, requests will not be retried.timeout (Optional[float]) – The amount of time, in seconds, to wait for the request to complete. Note that if
retry
is specified, the timeout applies to each individual attempt.metadata (Optional[Sequence[Tuple[str, str]]]) – Additional metadata that is provided to the method.
- Returns
A
_OperationFuture
instance.- Raises
google.api_core.exceptions.GoogleAPICallError – If the request failed for any reason.
google.api_core.exceptions.RetryError – If the request failed due to a retryable error and retry attempts failed.
ValueError – If the parameters are invalid.