class Aws::ElastiCache::Types::CacheCluster

Contains all of the attributes of a specific cluster.

@!attribute [rw] cache_cluster_id

The user-supplied identifier of the cluster. This identifier is a
unique key that identifies a cluster.
@return [String]

@!attribute [rw] configuration_endpoint

Represents a Memcached cluster endpoint which can be used by an
application to connect to any node in the cluster. The configuration
endpoint will always have `.cfg` in it.

Example: `mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211`
@return [Types::Endpoint]

@!attribute [rw] client_download_landing_page

The URL of the web page where you can download the latest
ElastiCache client library.
@return [String]

@!attribute [rw] cache_node_type

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:

    **M6g node types** (available only for Redis engine version
    5.0.6 onward and for Memcached engine version 1.5.16 onward).

    `cache.m6g.large`, `cache.m6g.xlarge`, `cache.m6g.2xlarge`,
    `cache.m6g.4xlarge`, `cache.m6g.8xlarge`, `cache.m6g.12xlarge`,
    `cache.m6g.16xlarge`

    <note markdown="1"> For region availability, see [Supported Node Types][1]

     </note>

    **M5 node types:** `cache.m5.large`, `cache.m5.xlarge`,
    `cache.m5.2xlarge`, `cache.m5.4xlarge`, `cache.m5.12xlarge`,
    `cache.m5.24xlarge`

    **M4 node types:** `cache.m4.large`, `cache.m4.xlarge`,
    `cache.m4.2xlarge`, `cache.m4.4xlarge`, `cache.m4.10xlarge`

    **T3 node types:** `cache.t3.micro`, `cache.t3.small`,
    `cache.t3.medium`

    **T2 node types:** `cache.t2.micro`, `cache.t2.small`,
    `cache.t2.medium`

  * 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`

    **M3 node types:** `cache.m3.medium`, `cache.m3.large`,
    `cache.m3.xlarge`, `cache.m3.2xlarge`

* Compute optimized:

  * Previous generation: (not recommended)

    **C1 node types:** `cache.c1.xlarge`

* Memory optimized:

  * Current generation:

    **R6g node types** (available only for Redis engine version
    5.0.6 onward and for Memcached engine version 1.5.16 onward).

    `cache.r6g.large`, `cache.r6g.xlarge`, `cache.r6g.2xlarge`,
    `cache.r6g.4xlarge`, `cache.r6g.8xlarge`, `cache.r6g.12xlarge`,
    `cache.r6g.16xlarge`

    <note markdown="1"> For region availability, see [Supported Node Types][1]

     </note>

    **R5 node types:** `cache.r5.large`, `cache.r5.xlarge`,
    `cache.r5.2xlarge`, `cache.r5.4xlarge`, `cache.r5.12xlarge`,
    `cache.r5.24xlarge`

    **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`

    **R3 node types:** `cache.r3.large`, `cache.r3.xlarge`,
    `cache.r3.2xlarge`, `cache.r3.4xlarge`, `cache.r3.8xlarge`

**Additional node type info**

* All current generation instance types are created in Amazon VPC by
  default.

* Redis append-only files (AOF) are not supported for T1 or T2
  instances.

* Redis Multi-AZ with automatic failover is not supported on T1
  instances.

* Redis configuration variables `appendonly` and `appendfsync` are
  not supported on Redis version 2.8.22 and later.

[1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion
@return [String]

@!attribute [rw] engine

The name of the cache engine (`memcached` or `redis`) to be used for
this cluster.
@return [String]

@!attribute [rw] engine_version

The version of the cache engine that is used in this cluster.
@return [String]

@!attribute [rw] cache_cluster_status

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`.
@return [String]

@!attribute [rw] num_cache_nodes

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 40.
@return [Integer]

@!attribute [rw] preferred_availability_zone

The name of the Availability Zone in which the cluster is located or
"Multiple" if the cache nodes are located in different
Availability Zones.
@return [String]

@!attribute [rw] preferred_outpost_arn

The outpost ARN in which the cache cluster is created.
@return [String]

@!attribute [rw] cache_cluster_create_time

The date and time when the cluster was created.
@return [Time]

@!attribute [rw] preferred_maintenance_window

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`
@return [String]

@!attribute [rw] pending_modified_values

A group of settings that are applied to the cluster in the future,
or that are currently being applied.
@return [Types::PendingModifiedValues]

@!attribute [rw] notification_configuration

Describes a notification topic and its status. Notification topics
are used for publishing ElastiCache events to subscribers using
Amazon Simple Notification Service (SNS).
@return [Types::NotificationConfiguration]

@!attribute [rw] cache_security_groups

A list of cache security group elements, composed of name and status
sub-elements.
@return [Array<Types::CacheSecurityGroupMembership>]

@!attribute [rw] cache_parameter_group

Status of the cache parameter group.
@return [Types::CacheParameterGroupStatus]

@!attribute [rw] cache_subnet_group_name

The name of the cache subnet group associated with the cluster.
@return [String]

@!attribute [rw] cache_nodes

A list of cache nodes that are members of the cluster.
@return [Array<Types::CacheNode>]

@!attribute [rw] auto_minor_version_upgrade

This parameter is currently disabled.
@return [Boolean]

@!attribute [rw] security_groups

A list of VPC Security Groups associated with the cluster.
@return [Array<Types::SecurityGroupMembership>]

@!attribute [rw] replication_group_id

The replication group to which this cluster belongs. If this field
is empty, the cluster is not associated with any replication group.
@return [String]

@!attribute [rw] snapshot_retention_limit

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.
@return [Integer]

@!attribute [rw] snapshot_window

The daily time range (in UTC) during which ElastiCache begins taking
a daily snapshot of your cluster.

Example: `05:00-09:00`
@return [String]

@!attribute [rw] auth_token_enabled

A flag that enables using an `AuthToken` (password) when issuing
Redis commands.

Default: `false`
@return [Boolean]

@!attribute [rw] auth_token_last_modified_date

The date the auth token was last modified
@return [Time]

@!attribute [rw] transit_encryption_enabled

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`, `4.x` or later.

Default: `false`
@return [Boolean]

@!attribute [rw] at_rest_encryption_enabled

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`, `4.x` or later.

Default: `false`
@return [Boolean]

@!attribute [rw] arn

The ARN (Amazon Resource Name) of the cache cluster.
@return [String]

@!attribute [rw] replication_group_log_delivery_enabled

A boolean value indicating whether log delivery is enabled for the
replication group.
@return [Boolean]

@!attribute [rw] log_delivery_configurations

Returns the destination, format and type of the logs.
@return [Array<Types::LogDeliveryConfiguration>]

@see docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheCluster AWS API Documentation

Constants

SENSITIVE