Tool: get_cluster
Get detailed information about a cluster in Memorystore for Redis Cluster.
The following sample demonstrate how to use curl to invoke the get_cluster MCP tool.
| Curl Request |
|---|
curl --location 'https://redis.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_cluster", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request for GetCluster.
GetClusterRequest
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Required. Redis cluster resource name using the form: |
Output Schema
A cluster instance.
Cluster
| JSON representation |
|---|
{ "name": string, "createTime": string, "state": enum ( |
| Fields | |
|---|---|
name |
Required. Identifier. Unique name of the resource in this scope including project and location using the form: |
createTime |
Output only. The timestamp associated with the cluster creation request. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
state |
Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED |
uid |
Output only. System assigned, unique identifier for the cluster. |
authorizationMode |
Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. |
transitEncryptionMode |
Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster. |
pscConfigs[] |
Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. |
discoveryEndpoints[] |
Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported. |
pscConnections[] |
Output only. The list of PSC connections that are auto-created through service connectivity automation. |
stateInfo |
Output only. Additional information about the current state of the cluster. |
nodeType |
Optional. The type of a redis node in the cluster. NodeType determines the underlying machine-type of a redis node. |
persistenceConfig |
Optional. Persistence config (RDB, AOF) for the cluster. |
redisConfigs |
Optional. Key/Value pairs of customer overrides for mutable Redis Configs An object containing a list of |
zoneDistributionConfig |
Optional. This config will be used to determine how the customer wants us to distribute cluster resources within the region. |
crossClusterReplicationConfig |
Optional. Cross cluster replication config. |
pscServiceAttachments[] |
Output only. Service attachment details to configure Psc connections |
clusterEndpoints[] |
Optional. A list of cluster endpoints. |
automatedBackupConfig |
Optional. The automated backup config for the cluster. |
encryptionInfo |
Output only. Encryption information of the data at rest of the cluster. |
availableMaintenanceVersions[] |
Output only. This field is used to determine the available maintenance versions for the self service update. |
allowFewerZonesDeployment |
Optional. Immutable. Deprecated, do not use. |
labels |
Optional. Labels to represent user-provided metadata. An object containing a list of |
aclPolicy |
Optional. The ACL policy to be applied to the cluster. |
Union field import_sources. The source to import from. import_sources can be only one of the following: |
|
gcsSource |
Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects. |
managedBackupSource |
Optional. Backups generated and managed by memorystore service. |
Union field
|
|
replicaCount |
Optional. The number of replica nodes per shard. |
Union field
|
|
sizeGb |
Output only. Redis memory size in GB for the entire cluster rounded up to the next integer. |
Union field
|
|
shardCount |
Optional. Number of shards for the Redis cluster. |
Union field
|
|
preciseSizeGb |
Output only. Precise value of redis memory size in GB for the entire cluster. |
Union field
|
|
deletionProtectionEnabled |
Optional. The delete operation will fail when the value is set to true. |
Union field
|
|
maintenancePolicy |
Optional. ClusterMaintenancePolicy determines when to allow or deny updates. |
Union field
|
|
maintenanceSchedule |
Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule. |
Union field
|
|
satisfiesPzs |
Optional. Output only. Reserved for future use. |
Union field
|
|
satisfiesPzi |
Optional. Output only. Reserved for future use. |
Union field
|
|
simulateMaintenanceEvent |
Optional. Input only. Simulate a maintenance event. |
Union field
|
|
backupCollection |
Optional. Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection} |
Union field
|
|
kmsKey |
Optional. The KMS key used to encrypt the at-rest data of the cluster. |
Union field
|
|
ondemandMaintenance |
Optional. Input only. Ondemand maintenance for the cluster. This field can be used to trigger ondemand critical update on the cluster. |
Union field
|
|
asyncClusterEndpointsDeletionEnabled |
Optional. If true, cluster endpoints that are created and registered by customers can be deleted asynchronously. That is, such a cluster endpoint can be de-registered before the forwarding rules in the cluster endpoint are deleted. |
Union field
|
|
maintenanceVersion |
Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field. |
Union field
|
|
effectiveMaintenanceVersion |
Output only. This field represents the actual maintenance version of the cluster. |
Union field
|
|
serverCaMode |
Optional. Server CA mode for the cluster. |
Union field
|
|
serverCaPool |
Optional. Customer-managed CA pool for the cluster. Only applicable for BYOCA i.e. if server_ca_mode is SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. Format: "projects/{project}/locations/{region}/caPools/{ca_pool}". |
Union field
|
|
rotateServerCertificate |
Optional. Input only. Rotate the server certificates. |
Union field
|
|
aclPolicyInSync |
Optional. Output only. Indicates whether the ACL rules applied to the cluster are in sync with the latest ACL policy rules. This field is only applicable if the ACL policy is set for the cluster. |
GcsBackupSource
| JSON representation |
|---|
{ "uris": [ string ] } |
| Fields | |
|---|---|
uris[] |
Optional. URIs of the Cloud Storage objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2 |
ManagedBackupSource
| JSON representation |
|---|
{ "backup": string } |
| Fields | |
|---|---|
backup |
Optional. Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under redis.googleapis.com. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
PscConfig
| JSON representation |
|---|
{ "network": string } |
| Fields | |
|---|---|
network |
Required. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_id}. |
DiscoveryEndpoint
| JSON representation |
|---|
{
"address": string,
"port": integer,
"pscConfig": {
object ( |
| Fields | |
|---|---|
address |
Output only. Address of the exposed Redis endpoint used by clients to connect to the service. The address could be either IP or hostname. |
port |
Output only. The port number of the exposed Redis endpoint. |
pscConfig |
Output only. Customer configuration for where the endpoint is created and accessed from. |
PscConnection
| JSON representation |
|---|
{ "pscConnectionId": string, "address": string, "forwardingRule": string, "projectId": string, "network": string, "serviceAttachment": string, "pscConnectionStatus": enum ( |
| Fields | |
|---|---|
pscConnectionId |
Required. The PSC connection id of the forwarding rule connected to the service attachment. |
address |
Required. The IP allocated on the consumer network for the PSC forwarding rule. |
forwardingRule |
Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}. |
projectId |
Optional. Project ID of the consumer project where the forwarding rule is created in. |
network |
Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}. |
serviceAttachment |
Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}. |
pscConnectionStatus |
Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details. |
connectionType |
Output only. Type of the PSC connection. |
Union field ports. The port number of the exposed discovery endpoint. ports can be only one of the following: |
|
port |
Output only. port will only be set for Primary/Reader or Discovery endpoint. |
StateInfo
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
updateInfo |
Describes ongoing update on the cluster when cluster state is UPDATING. |
UpdateInfo
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
targetShardCount |
Target number of shards for redis cluster |
Union field
|
|
targetReplicaCount |
Target number of replica nodes per shard. |
Union field
|
|
targetNodeType |
Target node type for redis cluster. |
ClusterPersistenceConfig
| JSON representation |
|---|
{ "mode": enum ( |
| Fields | |
|---|---|
mode |
Optional. The mode of persistence. |
rdbConfig |
Optional. RDB configuration. This field will be ignored if mode is not RDB. |
aofConfig |
Optional. AOF configuration. This field will be ignored if mode is not AOF. |
RDBConfig
| JSON representation |
|---|
{
"rdbSnapshotPeriod": enum ( |
| Fields | |
|---|---|
rdbSnapshotPeriod |
Optional. Period between RDB snapshots. |
rdbSnapshotStartTime |
Optional. The time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
AOFConfig
| JSON representation |
|---|
{
"appendFsync": enum ( |
| Fields | |
|---|---|
appendFsync |
Optional. fsync configuration. |
RedisConfigsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
ZoneDistributionConfig
| JSON representation |
|---|
{
"mode": enum ( |
| Fields | |
|---|---|
mode |
Optional. The mode of zone distribution. Defaults to MULTI_ZONE, when not specified. |
zone |
Optional. When SINGLE ZONE distribution is selected, zone field would be used to allocate all resources in that zone. This is not applicable to MULTI_ZONE, and would be ignored for MULTI_ZONE clusters. |
CrossClusterReplicationConfig
| JSON representation |
|---|
{ "clusterRole": enum ( |
| Fields | |
|---|---|
clusterRole |
Output only. The role of the cluster in cross cluster replication. |
primaryCluster |
Details of the primary cluster that is used as the replication source for this secondary cluster. This field is only set for a secondary cluster. |
secondaryClusters[] |
List of secondary clusters that are replicating from this primary cluster. This field is only set for a primary cluster. |
updateTime |
Output only. The last time cross cluster replication config was updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
membership |
Output only. An output only view of all the member clusters participating in the cross cluster replication. This view will be provided by every member cluster irrespective of its cluster role(primary or secondary). A primary cluster can provide information about all the secondary clusters replicating from it. However, a secondary cluster only knows about the primary cluster from which it is replicating. However, for scenarios, where the primary cluster is unavailable(e.g. regional outage), a GetCluster request can be sent to any other member cluster and this field will list all the member clusters participating in cross cluster replication. |
RemoteCluster
| JSON representation |
|---|
{ "cluster": string, "uid": string } |
| Fields | |
|---|---|
cluster |
Output only. The full resource path of the remote cluster in the format: projects/ |
uid |
Output only. The unique identifier of the remote cluster. |
Membership
| JSON representation |
|---|
{ "primaryCluster": { object ( |
| Fields | |
|---|---|
primaryCluster |
Output only. The primary cluster that acts as the source of replication for the secondary clusters. |
secondaryClusters[] |
Output only. The list of secondary clusters replicating from the primary cluster. |
ClusterMaintenancePolicy
| JSON representation |
|---|
{
"createTime": string,
"updateTime": string,
"weeklyMaintenanceWindow": [
{
object ( |
| Fields | |
|---|---|
createTime |
Output only. The time when the policy was created i.e. Maintenance Window or Deny Period was assigned. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The time when the policy was updated i.e. Maintenance Window or Deny Period was updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
weeklyMaintenanceWindow[] |
Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_maintenance_window is expected to be one. |
ClusterWeeklyMaintenanceWindow
| JSON representation |
|---|
{ "day": enum ( |
| Fields | |
|---|---|
day |
Optional. Allows to define schedule that runs specified day of the week. |
startTime |
Optional. Start time of the window in UTC. |
TimeOfDay
| JSON representation |
|---|
{ "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer } |
| Fields | |
|---|---|
hours |
Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. |
minutes |
Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. |
seconds |
Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. |
nanos |
Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. |
ClusterMaintenanceSchedule
| JSON representation |
|---|
{ "startTime": string, "endTime": string } |
| Fields | |
|---|---|
startTime |
Output only. The start time of any upcoming scheduled maintenance for this instance. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
endTime |
Output only. The end time of any upcoming scheduled maintenance for this instance. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
PscServiceAttachment
| JSON representation |
|---|
{
"serviceAttachment": string,
"connectionType": enum ( |
| Fields | |
|---|---|
serviceAttachment |
Output only. Service attachment URI which your self-created PscConnection should use as target |
connectionType |
Output only. Type of a PSC connection targeting this service attachment. |
ClusterEndpoint
| JSON representation |
|---|
{
"connections": [
{
object ( |
| Fields | |
|---|---|
connections[] |
Required. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster. |
ConnectionDetail
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field connection. A PSC connection to a cluster could either be created through Service Connectivity Automation (auto-registered connection) during the cluster creation, or it could be created by customer themselves (user-registered connection). connection can be only one of the following: |
|
pscAutoConnection |
Detailed information of a PSC connection that is created through service connectivity automation. |
pscConnection |
Detailed information of a PSC connection that is created by the customer who owns the cluster. |
PscAutoConnection
| JSON representation |
|---|
{ "pscConnectionId": string, "address": string, "forwardingRule": string, "projectId": string, "network": string, "serviceAttachment": string, "pscConnectionStatus": enum ( |
| Fields | |
|---|---|
pscConnectionId |
Output only. The PSC connection id of the forwarding rule connected to the service attachment. |
address |
Output only. The IP allocated on the consumer network for the PSC forwarding rule. |
forwardingRule |
Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}. |
projectId |
Required. The consumer project_id where the forwarding rule is created from. |
network |
Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}. |
serviceAttachment |
Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}. |
pscConnectionStatus |
Output only. The status of the PSC connection. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status. |
connectionType |
Output only. Type of the PSC connection. |
AutomatedBackupConfig
| JSON representation |
|---|
{ "automatedBackupMode": enum ( |
| Fields | |
|---|---|
automatedBackupMode |
Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored. |
Union field schedule. The schedule of automated backups. schedule can be only one of the following: |
|
fixedFrequencySchedule |
Optional. Trigger automated backups at a fixed frequency. |
Union field
|
|
retention |
Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days. A duration in seconds with up to nine fractional digits, ending with ' |
FixedFrequencySchedule
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
startTime |
Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required. |
Duration
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
nanos |
Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
EncryptionInfo
| JSON representation |
|---|
{ "encryptionType": enum ( |
| Fields | |
|---|---|
encryptionType |
Output only. Type of encryption. |
kmsKeyVersions[] |
Output only. KMS key versions that are being used to protect the data at-rest. |
kmsKeyPrimaryState |
Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups. |
lastUpdateTime |
Output only. The most recent time when the encryption info was updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
LabelsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌