REST Resource: projects.locations.clusters

Resource: Cluster

A cluster instance.

JSON representation
{
  "name": string,
  "createTime": string,
  "state": enum (State),
  "uid": string,
  "authorizationMode": enum (AuthorizationMode),
  "transitEncryptionMode": enum (TransitEncryptionMode),
  "pscConfigs": [
    {
      object (PscConfig)
    }
  ],
  "discoveryEndpoints": [
    {
      object (DiscoveryEndpoint)
    }
  ],
  "pscConnections": [
    {
      object (PscConnection)
    }
  ],
  "stateInfo": {
    object (StateInfo)
  },
  "nodeType": enum (NodeType),
  "persistenceConfig": {
    object (ClusterPersistenceConfig)
  },
  "redisConfigs": {
    string: string,
    ...
  },
  "replicaCount": integer,
  "sizeGb": integer,
  "shardCount": integer,
  "preciseSizeGb": number
}
Fields
name

string

Required. Unique name of the resource in this scope including project and location using the form: projects/{projectId}/locations/{locationId}/clusters/{clusterId}

createTime

string (Timestamp format)

Output only. The timestamp associated with the cluster creation request.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

state

enum (State)

Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED

uid

string

Output only. System assigned, unique identifier for the cluster.

authorizationMode

enum (AuthorizationMode)

Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.

transitEncryptionMode

enum (TransitEncryptionMode)

Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.

pscConfigs[]

object (PscConfig)

Required. 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[]

object (DiscoveryEndpoint)

Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported.

pscConnections[]

object (PscConnection)

Output only. PSC connections for discovery of the cluster topology and accessing the cluster.

stateInfo

object (StateInfo)

Output only. Additional information about the current state of the cluster.

nodeType

enum (NodeType)

Optional. The type of a redis node in the cluster. NodeType determines the underlying machine-type of a redis node.

persistenceConfig

object (ClusterPersistenceConfig)

Optional. Persistence config (RDB, AOF) for the cluster.

redisConfigs

map (key: string, value: string)

Optional. Key/Value pairs of customer overrides for mutable Redis Configs

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

replicaCount

integer

Optional. The number of replica nodes per shard.

sizeGb

integer

Output only. Redis memory size in GB for the entire cluster rounded up to the next integer.

shardCount

integer

Required. Number of shards for the Redis cluster.

preciseSizeGb

number

Output only. Precise value of redis memory size in GB for the entire cluster.

State

Represents the different states of a Redis cluster.

Enums
STATE_UNSPECIFIED Not set.
CREATING Redis cluster is being created.
ACTIVE Redis cluster has been created and is fully usable.
UPDATING Redis cluster configuration is being updated.
DELETING Redis cluster is being deleted.

AuthorizationMode

Available authorization mode of a Redis cluster.

Enums
AUTH_MODE_UNSPECIFIED Not set.
AUTH_MODE_IAM_AUTH IAM basic authorization mode
AUTH_MODE_DISABLED Authorization disabled mode

TransitEncryptionMode

Available mode of in-transit encryption.

Enums
TRANSIT_ENCRYPTION_MODE_UNSPECIFIED In-transit encryption not set.
TRANSIT_ENCRYPTION_MODE_DISABLED In-transit encryption disabled.
TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION Use server managed encryption for in-transit encryption.

PscConfig

JSON representation
{
  "network": string
}
Fields
network

string

Required. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{networkProject}/global/networks/{network_id}.

DiscoveryEndpoint

Endpoints on each network, for Redis clients to connect to the cluster.

JSON representation
{
  "address": string,
  "port": integer,
  "pscConfig": {
    object (PscConfig)
  }
}
Fields
address

string

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

integer

Output only. The port number of the exposed Redis endpoint.

pscConfig

object (PscConfig)

Output only. Customer configuration for where the endpoint is created and accessed from.

PscConnection

Details of consumer resources in a PSC connection.

JSON representation
{
  "pscConnectionId": string,
  "address": string,
  "forwardingRule": string,
  "projectId": string,
  "network": string
}
Fields
pscConnectionId

string

Output only. The PSC connection id of the forwarding rule connected to the service attachment.

address

string

Output only. The IP allocated on the consumer network for the PSC forwarding rule.

forwardingRule

string

Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.

projectId

string

Output only. The consumer projectId where the forwarding rule is created from.

network

string

The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.

StateInfo

Represents additional information about the state of the cluster.

JSON representation
{

  // Union field info can be only one of the following:
  "updateInfo": {
    object (UpdateInfo)
  }
  // End of list of possible types for union field info.
}
Fields

Union field info.

info can be only one of the following:

updateInfo

object (UpdateInfo)

Describes ongoing update on the cluster when cluster state is UPDATING.

UpdateInfo

Represents information about an updating cluster.

JSON representation
{
  "targetShardCount": integer,
  "targetReplicaCount": integer
}
Fields
targetShardCount

integer

Target number of shards for redis cluster

targetReplicaCount

integer

Target number of replica nodes per shard.

NodeType

NodeType of a redis cluster node,

Enums
NODE_TYPE_UNSPECIFIED
REDIS_SHARED_CORE_NANO Redis shared core nano nodeType.
REDIS_HIGHMEM_MEDIUM Redis highmem medium nodeType.
REDIS_HIGHMEM_XLARGE Redis highmem xlarge nodeType.
REDIS_STANDARD_SMALL Redis standard small nodeType.

ClusterPersistenceConfig

Configuration of the persistence functionality.

JSON representation
{
  "mode": enum (PersistenceMode),
  "rdbConfig": {
    object (RDBConfig)
  },
  "aofConfig": {
    object (AOFConfig)
  }
}
Fields
mode

enum (PersistenceMode)

Optional. The mode of persistence.

rdbConfig

object (RDBConfig)

Optional. RDB configuration. This field will be ignored if mode is not RDB.

aofConfig

object (AOFConfig)

Optional. AOF configuration. This field will be ignored if mode is not AOF.

PersistenceMode

Available persistence modes.

Enums
PERSISTENCE_MODE_UNSPECIFIED Not set.
DISABLED Persistence is disabled, and any snapshot data is deleted.
RDB RDB based persistence is enabled.
AOF AOF based persistence is enabled.

RDBConfig

Configuration of the RDB based persistence.

JSON representation
{
  "rdbSnapshotPeriod": enum (SnapshotPeriod),
  "rdbSnapshotStartTime": string
}
Fields
rdbSnapshotPeriod

enum (SnapshotPeriod)

Optional. Period between RDB snapshots.

rdbSnapshotStartTime

string (Timestamp format)

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.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

SnapshotPeriod

Available snapshot periods.

Enums
SNAPSHOT_PERIOD_UNSPECIFIED Not set.
ONE_HOUR One hour.
SIX_HOURS Six hours.
TWELVE_HOURS Twelve hours.
TWENTY_FOUR_HOURS Twenty four hours.

AOFConfig

Configuration of the AOF based persistence.

JSON representation
{
  "appendFsync": enum (AppendFsync)
}
Fields
appendFsync

enum (AppendFsync)

Optional. fsync configuration.

AppendFsync

Available fsync modes.

Enums
APPEND_FSYNC_UNSPECIFIED Not set. Default: EVERYSEC
NO Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.
EVERYSEC fsync every second. Fast enough, and you may lose 1 second of data if there is a disaster
ALWAYS fsync every time new commands are appended to the AOF. It has the best data loss protection at the cost of performance

Methods

create

Creates a Redis cluster based on the specified properties.

delete

Deletes a specific Redis cluster.

get

Gets the details of a specific Redis cluster.

getCertificateAuthority

Gets the details of certificate authority information for Redis cluster.

list

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

patch

Updates the metadata and configuration of a specific Redis cluster.