CacheCluster
import "github.com/aws/aws-sdk-go/service/elasticache"
type CacheCluster struct { AtRestEncryptionEnabled *bool `type:"boolean"` AuthTokenEnabled *bool `type:"boolean"` AutoMinorVersionUpgrade *bool `type:"boolean"` CacheClusterCreateTime *time.Time `type:"timestamp"` CacheClusterId *string `type:"string"` CacheClusterStatus *string `type:"string"` CacheNodeType *string `type:"string"` CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"` CacheSubnetGroupName *string `type:"string"` ClientDownloadLandingPage *string `type:"string"` ConfigurationEndpoint *Endpoint `type:"structure"` Engine *string `type:"string"` EngineVersion *string `type:"string"` NotificationConfiguration *NotificationConfiguration `type:"structure"` NumCacheNodes *int64 `type:"integer"` PendingModifiedValues *PendingModifiedValues `type:"structure"` PreferredAvailabilityZone *string `type:"string"` PreferredMaintenanceWindow *string `type:"string"` ReplicationGroupId *string `type:"string"` SecurityGroups []*SecurityGroupMembership `type:"list"` SnapshotRetentionLimit *int64 `type:"integer"` SnapshotWindow *string `type:"string"` TransitEncryptionEnabled *bool `type:"boolean"` }
Contains all of the attributes of a specific cluster.
- AtRestEncryptionEnabled
-
Type:
*bool
A flag that enables encryption at-rest when set to true.
You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.
Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6 or 4.x.
Default: false
- AuthTokenEnabled
-
Type:
*bool
A flag that enables using an AuthToken (password) when issuing Redis commands.
Default: false
- AutoMinorVersionUpgrade
-
Type:
*bool
This parameter is currently disabled.
- CacheClusterCreateTime
-
Type:
*time.Time
The date and time when the cluster was created.
- CacheClusterId
-
Type:
*string
The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster.
- CacheClusterStatus
-
Type:
*string
The current state of this cluster, one of the following values: available, creating, deleted, deleting, incompatible-network, modifying, rebooting cluster nodes, restore-failed, or snapshotting.
- CacheNodeType
-
Type:
*string
The name of the compute and memory capacity node type for the cluster.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
-
General purpose:
Current generation:
T2 node types:cache.t2.micro, cache.t2.small, cache.t2.medium
M3 node types:cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
M4 node types:cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge,
cache.m4.10xlarge
Previous generation: (not recommended)
T1 node types:cache.t1.micro
M1 node types:cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
-
Compute optimized:
Previous generation: (not recommended)
C1 node types:cache.c1.xlarge
-
Memory optimized:
Current generation:
R3 node types:cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
cache.r3.8xlarge
R4 node types;cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge,
cache.r4.8xlarge, cache.r4.16xlarge
Previous generation: (not recommended)
M2 node types:cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
Notes:
-
All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).
-
Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.
-
Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.
-
Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.
For a complete listing of node types and specifications, see:
-
Amazon ElastiCache Product Features and Details (https://aws.amazon.com/elasticache/details)
-
Cache Node Type-Specific Parameters for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
-
Cache Node Type-Specific Parameters for Redis (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific)
-
- CacheNodes
-
Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
-
General purpose:
Current generation:
T2 node types:cache.t2.micro, cache.t2.small, cache.t2.medium
M3 node types:cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
M4 node types:cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge,
cache.m4.10xlarge
Previous generation: (not recommended)
T1 node types:cache.t1.micro
M1 node types:cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
-
Compute optimized:
Previous generation: (not recommended)
C1 node types:cache.c1.xlarge
-
Memory optimized:
Current generation:
R3 node types:cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
cache.r3.8xlarge
R4 node types;cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge,
cache.r4.8xlarge, cache.r4.16xlarge
Previous generation: (not recommended)
M2 node types:cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
Notes:
-
All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).
-
Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.
-
Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.
-
Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.
For a complete listing of node types and specifications, see:
-
Amazon ElastiCache Product Features and Details (https://aws.amazon.com/elasticache/details)
-
Cache Node Type-Specific Parameters for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific)
-
Cache Node Type-Specific Parameters for Redis (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific)
-
- CacheParameterGroup
-
Status of the cache parameter group.
- CacheSecurityGroups
-
Represents a cluster's status within a particular cache security group.
- CacheSubnetGroupName
-
Type:
*string
The name of the cache subnet group associated with the cluster.
- ClientDownloadLandingPage
-
Type:
*string
The URL of the web page where you can download the latest ElastiCache client library.
- ConfigurationEndpoint
-
Represents the information required for client programs to connect to a cache node.
- Engine
-
Type:
*string
The name of the cache engine (memcached or redis) to be used for this cluster.
- EngineVersion
-
Type:
*string
The version of the cache engine that is used in this cluster.
- NotificationConfiguration
-
Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).
- NumCacheNodes
-
Type:
*int64
The number of cache nodes in the cluster.
For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.
- PendingModifiedValues
-
A group of settings that are applied to the cluster in the future, or that are currently being applied.
- PreferredAvailabilityZone
-
Type:
*string
The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in different Availability Zones.
- PreferredMaintenanceWindow
-
Type:
*string
Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Valid values for ddd are:
-
sun
-
mon
-
tue
-
wed
-
thu
-
fri
-
sat
Example: sun:23:00-mon:01:30
-
- ReplicationGroupId
-
Type:
*string
The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with any replication group.
- SecurityGroups
-
Represents a single cache security group and its status.
- SnapshotRetentionLimit
-
Type:
*int64
The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.
If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.
- SnapshotWindow
-
Type:
*string
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.
Example: 05:00-09:00
- TransitEncryptionEnabled
-
Type:
*bool
A flag that enables in-transit encryption when set to true.
You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.
Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6 or 4.x.
Default: false
Method
GoString
func (s CacheCluster) GoString() string
GoString returns the string representation
SetAtRestEncryptionEnabled
func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster
SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value.
SetAuthTokenEnabled
func (s *CacheCluster) SetAuthTokenEnabled(v bool) *CacheCluster
SetAuthTokenEnabled sets the AuthTokenEnabled field's value.
SetAutoMinorVersionUpgrade
func (s *CacheCluster) SetAutoMinorVersionUpgrade(v bool) *CacheCluster
SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
SetCacheClusterCreateTime
func (s *CacheCluster) SetCacheClusterCreateTime(v time.Time) *CacheCluster
SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value.
SetCacheClusterId
func (s *CacheCluster) SetCacheClusterId(v string) *CacheCluster
SetCacheClusterId sets the CacheClusterId field's value.
SetCacheClusterStatus
func (s *CacheCluster) SetCacheClusterStatus(v string) *CacheCluster
SetCacheClusterStatus sets the CacheClusterStatus field's value.
SetCacheNodeType
func (s *CacheCluster) SetCacheNodeType(v string) *CacheCluster
SetCacheNodeType sets the CacheNodeType field's value.
SetCacheNodes
func (s *CacheCluster) SetCacheNodes(v []*CacheNode) *CacheCluster
SetCacheNodes sets the CacheNodes field's value.
SetCacheParameterGroup
func (s *CacheCluster) SetCacheParameterGroup(v *CacheParameterGroupStatus) *CacheCluster
SetCacheParameterGroup sets the CacheParameterGroup field's value.
SetCacheSecurityGroups
func (s *CacheCluster) SetCacheSecurityGroups(v []*CacheSecurityGroupMembership) *CacheCluster
SetCacheSecurityGroups sets the CacheSecurityGroups field's value.
SetCacheSubnetGroupName
func (s *CacheCluster) SetCacheSubnetGroupName(v string) *CacheCluster
SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value.
SetClientDownloadLandingPage
func (s *CacheCluster) SetClientDownloadLandingPage(v string) *CacheCluster
SetClientDownloadLandingPage sets the ClientDownloadLandingPage field's value.
SetConfigurationEndpoint
func (s *CacheCluster) SetConfigurationEndpoint(v *Endpoint) *CacheCluster
SetConfigurationEndpoint sets the ConfigurationEndpoint field's value.
SetEngine
func (s *CacheCluster) SetEngine(v string) *CacheCluster
SetEngine sets the Engine field's value.
SetEngineVersion
func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster
SetEngineVersion sets the EngineVersion field's value.
SetNotificationConfiguration
func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster
SetNotificationConfiguration sets the NotificationConfiguration field's value.
SetNumCacheNodes
func (s *CacheCluster) SetNumCacheNodes(v int64) *CacheCluster
SetNumCacheNodes sets the NumCacheNodes field's value.
SetPendingModifiedValues
func (s *CacheCluster) SetPendingModifiedValues(v *PendingModifiedValues) *CacheCluster
SetPendingModifiedValues sets the PendingModifiedValues field's value.
SetPreferredAvailabilityZone
func (s *CacheCluster) SetPreferredAvailabilityZone(v string) *CacheCluster
SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value.
SetPreferredMaintenanceWindow
func (s *CacheCluster) SetPreferredMaintenanceWindow(v string) *CacheCluster
SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
SetReplicationGroupId
func (s *CacheCluster) SetReplicationGroupId(v string) *CacheCluster
SetReplicationGroupId sets the ReplicationGroupId field's value.
SetSecurityGroups
func (s *CacheCluster) SetSecurityGroups(v []*SecurityGroupMembership) *CacheCluster
SetSecurityGroups sets the SecurityGroups field's value.
SetSnapshotRetentionLimit
func (s *CacheCluster) SetSnapshotRetentionLimit(v int64) *CacheCluster
SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value.
SetSnapshotWindow
func (s *CacheCluster) SetSnapshotWindow(v string) *CacheCluster
SetSnapshotWindow sets the SnapshotWindow field's value.
SetTransitEncryptionEnabled
func (s *CacheCluster) SetTransitEncryptionEnabled(v bool) *CacheCluster
SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value.
String
func (s CacheCluster) String() string
String returns the string representation