- Resource: Cluster
- State
- AuthorizationMode
- TransitEncryptionMode
- PscConfig
- DiscoveryEndpoint
- PscConnection
- StateInfo
- UpdateInfo
- NodeType
- ClusterPersistenceConfig
- PersistenceMode
- RDBConfig
- SnapshotPeriod
- AOFConfig
- AppendFsync
- ZoneDistributionConfig
- ZoneDistributionMode
- CrossClusterReplicationConfig
- ClusterRole
- RemoteCluster
- Membership
- ClusterMaintenancePolicy
- ClusterWeeklyMaintenanceWindow
- ClusterMaintenanceSchedule
- Methods
Resource: Cluster
A cluster instance.
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. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. 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[] |
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[] |
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. PSC connections for discovery of the cluster topology and accessing the cluster. |
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. |
replicaCount |
Optional. The number of replica nodes per shard. |
sizeGb |
Output only. Redis memory size in GB for the entire cluster rounded up to the next integer. |
shardCount |
Optional. Number of shards for the Redis cluster. |
preciseSizeGb |
Output only. Precise value of redis memory size in GB for the entire cluster. |
deletionProtectionEnabled |
Optional. The delete operation will fail when the value is set to true. |
maintenancePolicy |
Optional. ClusterMaintenancePolicy determines when to allow or deny updates. |
maintenanceSchedule |
Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule. |
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 |
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 ( |
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
Details of consumer resources in a PSC connection.
JSON representation |
---|
{ "pscConnectionId": string, "address": string, "forwardingRule": string, "projectId": string, "network": string } |
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 |
Output only. The consumer projectId where the forwarding rule is created from. |
network |
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 |
Fields | |
---|---|
Union field
|
|
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 |
Target number of shards for redis cluster |
targetReplicaCount |
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 ( |
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. |
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 ( |
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. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
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 ( |
Fields | |
---|---|
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 write commands are appended to the AOF. It has the best data loss protection at the cost of performance |
ZoneDistributionConfig
Zone distribution config for allocation of cluster resources.
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. |
ZoneDistributionMode
Defines various modes of zone distribution. Currently supports two modes, can be expanded in future to support more types of distribution modes.
Enums | |
---|---|
ZONE_DISTRIBUTION_MODE_UNSPECIFIED |
Not Set. Default: MULTI_ZONE |
MULTI_ZONE |
Distribute all resources across 3 zones picked at random, within the region. |
SINGLE_ZONE |
Distribute all resources in a single zone. The zone field must be specified, when this mode is selected. |
CrossClusterReplicationConfig
Cross cluster replication config.
JSON representation |
---|
{ "clusterRole": enum ( |
Fields | |
---|---|
clusterRole |
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. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. 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 clusters.get request can be sent to any other member cluster and this field will list all the member clusters participating in cross cluster replication. |
ClusterRole
The role of the cluster in cross cluster replication.
Enums | |
---|---|
CLUSTER_ROLE_UNSPECIFIED |
Cluster role is not set. The behavior is equivalent to NONE. |
NONE |
This cluster does not participate in cross cluster replication. It is an independent cluster and does not replicate to or from any other clusters. |
PRIMARY |
A cluster that allows both reads and writes. Any data written to this cluster is also replicated to the attached secondary clusters. |
SECONDARY |
A cluster that allows only reads and replicates data from a primary cluster. |
RemoteCluster
Details of the remote cluster associated with this cluster in a cross cluster replication setup.
JSON representation |
---|
{ "cluster": string, "uid": string } |
Fields | |
---|---|
cluster |
The full resource path of the remote cluster in the format: projects/ |
uid |
Output only. The unique identifier of the remote cluster. |
Membership
An output only view of all the member clusters participating in the cross cluster replication.
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
Maintenance policy per cluster.
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. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
updateTime |
Output only. The time when the policy was updated i.e. Maintenance Window or Deny Period was updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
weeklyMaintenanceWindow[] |
Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weeklyMaintenanceWindow is expected to be one. |
ClusterWeeklyMaintenanceWindow
Time window specified for weekly operations.
JSON representation |
---|
{ "day": enum ( |
Fields | |
---|---|
day |
Allows to define schedule that runs specified day of the week. |
startTime |
Start time of the window in UTC. |
duration |
Duration of the time window. A duration in seconds with up to nine fractional digits, ending with ' |
ClusterMaintenanceSchedule
Upcoming maitenance schedule.
JSON representation |
---|
{ "startTime": string, "endTime": string, "scheduleDeadlineTime": string } |
Fields | |
---|---|
startTime |
Output only. The start time of any upcoming scheduled maintenance for this instance. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
endTime |
Output only. The end time of any upcoming scheduled maintenance for this instance. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
scheduleDeadlineTime |
Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
Methods |
|
---|---|
|
Creates a Redis cluster based on the specified properties. |
|
Deletes a specific Redis cluster. |
|
Gets the details of a specific Redis cluster. |
|
Gets the details of certificate authority information for Redis cluster. |
|
Lists all Redis clusters owned by a project in either the specified location (region) or all locations. |
|
Updates the metadata and configuration of a specific Redis cluster. |
|
Reschedules upcoming maintenance event. |