CfnCacheCluster

class aws_cdk.aws_elasticache.CfnCacheCluster(scope, id, *, cache_node_type, engine, num_cache_nodes, auto_minor_version_upgrade=None, az_mode=None, cache_parameter_group_name=None, cache_security_group_names=None, cache_subnet_group_name=None, cluster_name=None, engine_version=None, ip_discovery=None, log_delivery_configurations=None, network_type=None, notification_topic_arn=None, port=None, preferred_availability_zone=None, preferred_availability_zones=None, preferred_maintenance_window=None, snapshot_arns=None, snapshot_name=None, snapshot_retention_limit=None, snapshot_window=None, tags=None, transit_encryption_enabled=None, vpc_security_group_ids=None)

Bases: CfnResource

A CloudFormation AWS::ElastiCache::CacheCluster.

The AWS::ElastiCache::CacheCluster type creates an Amazon ElastiCache cache cluster.

CloudformationResource:

AWS::ElastiCache::CacheCluster

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_elasticache as elasticache

cfn_cache_cluster = elasticache.CfnCacheCluster(self, "MyCfnCacheCluster",
    cache_node_type="cacheNodeType",
    engine="engine",
    num_cache_nodes=123,

    # the properties below are optional
    auto_minor_version_upgrade=False,
    az_mode="azMode",
    cache_parameter_group_name="cacheParameterGroupName",
    cache_security_group_names=["cacheSecurityGroupNames"],
    cache_subnet_group_name="cacheSubnetGroupName",
    cluster_name="clusterName",
    engine_version="engineVersion",
    ip_discovery="ipDiscovery",
    log_delivery_configurations=[elasticache.CfnCacheCluster.LogDeliveryConfigurationRequestProperty(
        destination_details=elasticache.CfnCacheCluster.DestinationDetailsProperty(
            cloud_watch_logs_details=elasticache.CfnCacheCluster.CloudWatchLogsDestinationDetailsProperty(
                log_group="logGroup"
            ),
            kinesis_firehose_details=elasticache.CfnCacheCluster.KinesisFirehoseDestinationDetailsProperty(
                delivery_stream="deliveryStream"
            )
        ),
        destination_type="destinationType",
        log_format="logFormat",
        log_type="logType"
    )],
    network_type="networkType",
    notification_topic_arn="notificationTopicArn",
    port=123,
    preferred_availability_zone="preferredAvailabilityZone",
    preferred_availability_zones=["preferredAvailabilityZones"],
    preferred_maintenance_window="preferredMaintenanceWindow",
    snapshot_arns=["snapshotArns"],
    snapshot_name="snapshotName",
    snapshot_retention_limit=123,
    snapshot_window="snapshotWindow",
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    transit_encryption_enabled=False,
    vpc_security_group_ids=["vpcSecurityGroupIds"]
)

Create a new AWS::ElastiCache::CacheCluster.

Parameters:
  • scope (Construct) –

    • scope in which this resource is defined.

  • id (str) –

    • scoped id of the resource.

  • cache_node_type (str) – The compute and memory capacity of the nodes in the node group (shard). 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. Changing the CacheNodeType of a Memcached instance is currently not supported. If you need to scale using Memcached, we recommend forcing a replacement update by changing the LogicalResourceId of the resource. - General purpose: - Current generation: M6g node types: cache.m6g.large , cache.m6g.xlarge , cache.m6g.2xlarge , cache.m6g.4xlarge , cache.m6g.8xlarge , cache.m6g.12xlarge , cache.m6g.16xlarge , cache.m6g.24xlarge 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 T4g node types: cache.t4g.micro , cache.t4g.small , cache.t4g.medium 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: R6gd node types: cache.r6gd.xlarge , cache.r6gd.2xlarge , cache.r6gd.4xlarge , cache.r6gd.8xlarge , cache.r6gd.12xlarge , cache.r6gd.16xlarge .. epigraph:: The r6gd family is available in the following regions: us-east-2 , us-east-1 , us-west-2 , us-west-1 , eu-west-1 , eu-central-1 , ap-northeast-1 , ap-southeast-1 , ap-southeast-2 . R6g node types: cache.r6g.large , cache.r6g.xlarge , cache.r6g.2xlarge , cache.r6g.4xlarge , cache.r6g.8xlarge , cache.r6g.12xlarge , cache.r6g.16xlarge , cache.r6g.24xlarge 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 For region availability, see Supported Node Types by Region 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.

  • engine (str) – The name of the cache engine to be used for this cluster. Valid values for this parameter are: memcached | redis

  • num_cache_nodes (Union[int, float]) – The number of cache nodes that the cache cluster should have. .. epigraph:: However, if the PreferredAvailabilityZone and PreferredAvailabilityZones properties were not previously specified and you don’t specify any new values, an update requires replacement .

  • auto_minor_version_upgrade (Union[bool, IResolvable, None]) – If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next minor version upgrade campaign. This parameter is disabled for previous versions.

  • az_mode (Optional[str]) – Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster’s region. This parameter is only supported for Memcached clusters. If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

  • cache_parameter_group_name (Optional[str]) – The name of the parameter group to associate with this cluster. If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.

  • cache_security_group_names (Optional[Sequence[str]]) – A list of security group names to associate with this cluster. Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).

  • cache_subnet_group_name (Optional[str]) – The name of the subnet group to be used for the cluster. Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC). .. epigraph:: If you’re going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see AWS::ElastiCache::SubnetGroup .

  • cluster_name (Optional[str]) – A name for the cache cluster. If you don’t specify a name, AWSCloudFormation generates a unique physical ID and uses that ID for the cache cluster. For more information, see Name Type . The name must contain 1 to 50 alphanumeric characters or hyphens. The name must start with a letter and cannot end with a hyphen or contain two consecutive hyphens.

  • engine_version (Optional[str]) – The version number of the cache engine to be used for this cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation. Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version ), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

  • ip_discovery (Optional[str]) – The network type you choose when modifying a cluster, either ipv4 | ipv6 . IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system .

  • log_delivery_configurations (Union[IResolvable, Sequence[Union[IResolvable, LogDeliveryConfigurationRequestProperty, Dict[str, Any]]], None]) – Specifies the destination, format and type of the logs.

  • network_type (Optional[str]) –

    Must be either ipv4 | ipv6 | dual_stack . IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system .

  • notification_topic_arn (Optional[str]) – The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent. .. epigraph:: The Amazon SNS topic owner must be the same as the cluster owner.

  • port (Union[int, float, None]) – The port number on which each of the cache nodes accepts connections.

  • preferred_availability_zone (Optional[str]) – The EC2 Availability Zone in which the cluster is created. All nodes belonging to this cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones . Default: System chosen Availability Zone.

  • preferred_availability_zones (Optional[Sequence[str]]) – A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important. This option is only supported on Memcached. .. epigraph:: If you are creating your cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of NumCacheNodes . If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones.

  • preferred_maintenance_window (Optional[str]) – 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: 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

  • snapshot_arns (Optional[Sequence[str]]) – A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas. .. epigraph:: This parameter is only valid if the Engine parameter is redis . Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

  • snapshot_name (Optional[str]) – The name of a Redis snapshot from which to restore data into the new node group (shard). The snapshot status changes to restoring while the new node group (shard) is being created. .. epigraph:: This parameter is only valid if the Engine parameter is redis .

  • snapshot_retention_limit (Union[int, float, None]) – The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot taken today is retained for 5 days before being deleted. .. epigraph:: This parameter is only valid if the Engine parameter is redis . Default: 0 (i.e., automatic backups are disabled for this cache cluster).

  • snapshot_window (Optional[str]) – The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard). Example: 05:00-09:00 If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range. .. epigraph:: This parameter is only valid if the Engine parameter is redis .

  • tags (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – A list of tags to be added to this resource.

  • transit_encryption_enabled (Union[bool, IResolvable, None]) – A flag that enables in-transit encryption when set to true.

  • vpc_security_group_ids (Optional[Sequence[str]]) – One or more VPC security groups associated with the cluster. Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

Methods

add_deletion_override(path)

Syntactic sugar for addOverride(path, undefined).

Parameters:

path (str) – The path of the value to delete.

Return type:

None

add_depends_on(target)

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

add_metadata(key, value)

Add a value to the CloudFormation Resource Metadata.

Parameters:
  • key (str) –

  • value (Any) –

See:

Return type:

None

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

add_override(path, value)

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with “Properties.” (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example:

cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides Example:

"Properties": {
   "GlobalSecondaryIndexes": [
     {
       "Projection": {
         "NonKeyAttributes": [ "myattribute" ]
         ...
       }
       ...
     },
     {
       "ProjectionType": "INCLUDE"
       ...
     },
   ]
   ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:
  • path (str) –

    • The path of the property, you can use dot notation to override values in complex types. Any intermdediate keys will be created as needed.

  • value (Any) –

    • The value. Could be primitive or complex.

Return type:

None

add_property_deletion_override(property_path)

Adds an override that deletes the value of a property from the resource definition.

Parameters:

property_path (str) – The path to the property.

Return type:

None

add_property_override(property_path, value)

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:
  • property_path (str) – The path of the property.

  • value (Any) – The value.

Return type:

None

apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

Parameters:
  • policy (Optional[RemovalPolicy]) –

  • apply_to_update_replace_policy (Optional[bool]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: true

  • default (Optional[RemovalPolicy]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resoure, please consult that specific resource’s documentation.

Return type:

None

get_att(attribute_name)

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:

attribute_name (str) – The name of the attribute.

Return type:

Reference

get_metadata(key)

Retrieve a value value from the CloudFormation Resource Metadata.

Parameters:

key (str) –

See:

Return type:

Any

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

inspect(inspector)

Examines the CloudFormation resource and discloses attributes.

Parameters:

inspector (TreeInspector) –

  • tree inspector to collect and process attributes.

Return type:

None

override_logical_id(new_logical_id)

Overrides the auto-generated logical ID with a specific ID.

Parameters:

new_logical_id (str) – The new logical ID to use for this stack element.

Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Returns:

a string representation of this resource

Attributes

CFN_RESOURCE_TYPE_NAME = 'AWS::ElastiCache::CacheCluster'
attr_configuration_endpoint_address

The DNS hostname of the cache node.

Redis (cluster mode disabled) replication groups don’t have this attribute. Therefore, Fn::GetAtt returns a value for this attribute only if the replication group is clustered. Otherwise, Fn::GetAtt fails.

CloudformationAttribute:

ConfigurationEndpoint.Address

attr_configuration_endpoint_port

The port number of the configuration endpoint for the Memcached cache cluster.

Redis (cluster mode disabled) replication groups don’t have this attribute. Therefore, Fn::GetAtt returns a value for this attribute only if the replication group is clustered. Otherwise, Fn::GetAtt fails.

CloudformationAttribute:

ConfigurationEndpoint.Port

attr_redis_endpoint_address

The DNS address of the configuration endpoint for the Redis cache cluster.

CloudformationAttribute:

RedisEndpoint.Address

attr_redis_endpoint_port

The port number of the configuration endpoint for the Redis cache cluster.

CloudformationAttribute:

RedisEndpoint.Port

auto_minor_version_upgrade

If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next minor version upgrade campaign. This parameter is disabled for previous versions.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-autominorversionupgrade

az_mode

Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster’s region.

This parameter is only supported for Memcached clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-azmode

cache_node_type

The compute and memory capacity of the nodes in the node group (shard).

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. Changing the CacheNodeType of a Memcached instance is currently not supported. If you need to scale using Memcached, we recommend forcing a replacement update by changing the LogicalResourceId of the resource.

  • General purpose:

  • Current generation:

M6g node types: cache.m6g.large , cache.m6g.xlarge , cache.m6g.2xlarge , cache.m6g.4xlarge , cache.m6g.8xlarge , cache.m6g.12xlarge , cache.m6g.16xlarge , cache.m6g.24xlarge

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

T4g node types: cache.t4g.micro , cache.t4g.small , cache.t4g.medium

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:

R6gd node types: cache.r6gd.xlarge , cache.r6gd.2xlarge , cache.r6gd.4xlarge , cache.r6gd.8xlarge , cache.r6gd.12xlarge , cache.r6gd.16xlarge .. epigraph:

The ``r6gd`` family is available in the following regions: ``us-east-2`` , ``us-east-1`` , ``us-west-2`` , ``us-west-1`` , ``eu-west-1`` , ``eu-central-1`` , ``ap-northeast-1`` , ``ap-southeast-1`` , ``ap-southeast-2`` .

R6g node types: cache.r6g.large , cache.r6g.xlarge , cache.r6g.2xlarge , cache.r6g.4xlarge , cache.r6g.8xlarge , cache.r6g.12xlarge , cache.r6g.16xlarge , cache.r6g.24xlarge

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

For region availability, see Supported Node Types by Region

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachenodetype

cache_parameter_group_name

The name of the parameter group to associate with this cluster.

If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cacheparametergroupname

cache_security_group_names

A list of security group names to associate with this cluster.

Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesecuritygroupnames

cache_subnet_group_name

The name of the subnet group to be used for the cluster.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC). .. epigraph:

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see `AWS::ElastiCache::SubnetGroup <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html>`_ .
Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesubnetgroupname

cfn_options

Options for this resource, such as condition, update policy etc.

cfn_resource_type

AWS resource type.

cluster_name

A name for the cache cluster.

If you don’t specify a name, AWSCloudFormation generates a unique physical ID and uses that ID for the cache cluster. For more information, see Name Type .

The name must contain 1 to 50 alphanumeric characters or hyphens. The name must start with a letter and cannot end with a hyphen or contain two consecutive hyphens.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-clustername

creation_stack

return:

the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.

engine

The name of the cache engine to be used for this cluster.

Valid values for this parameter are: memcached | redis

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-engine

engine_version

The version number of the cache engine to be used for this cluster.

To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version ), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-engineversion

ip_discovery

The network type you choose when modifying a cluster, either ipv4 | ipv6 .

IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-ipdiscovery

log_delivery_configurations

Specifies the destination, format and type of the logs.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-logdeliveryconfigurations

logical_id

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).

Returns:

the logical ID as a stringified token. This value will only get resolved during synthesis.

network_type

Must be either ipv4 | ipv6 | dual_stack .

IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-networktype

node

The construct tree node associated with this construct.

notification_topic_arn

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

The Amazon SNS topic owner must be the same as the cluster owner.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-notificationtopicarn

num_cache_nodes

The number of cache nodes that the cache cluster should have.

However, if the PreferredAvailabilityZone and PreferredAvailabilityZones properties were not previously specified and you don’t specify any new values, an update requires replacement .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-numcachenodes

port

The port number on which each of the cache nodes accepts connections.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-port

preferred_availability_zone

The EC2 Availability Zone in which the cluster is created.

All nodes belonging to this cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones .

Default: System chosen Availability Zone.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzone

preferred_availability_zones

A list of the Availability Zones in which cache nodes are created.

The order of the zones in the list is not important.

This option is only supported on Memcached. .. epigraph:

If you are creating your cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of ``NumCacheNodes`` .

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzones

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:

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

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredmaintenancewindow

ref

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

snapshot_arns

A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3.

The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas. .. epigraph:

This parameter is only valid if the ``Engine`` parameter is ``redis`` .

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotarns

snapshot_name

The name of a Redis snapshot from which to restore data into the new node group (shard).

The snapshot status changes to restoring while the new node group (shard) is being created. .. epigraph:

This parameter is only valid if the ``Engine`` parameter is ``redis`` .
Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotname

snapshot_retention_limit

The number of days for which ElastiCache retains automatic snapshots before deleting them.

For example, if you set SnapshotRetentionLimit to 5, a snapshot taken today is retained for 5 days before being deleted. .. epigraph:

This parameter is only valid if the ``Engine`` parameter is ``redis`` .

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotretentionlimit

snapshot_window

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

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range. .. epigraph:

This parameter is only valid if the ``Engine`` parameter is ``redis`` .
Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotwindow

stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

tags

A list of tags to be added to this resource.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-tags

transit_encryption_enabled

A flag that enables in-transit encryption when set to true.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-transitencryptionenabled

vpc_security_group_ids

One or more VPC security groups associated with the cluster.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-vpcsecuritygroupids

Static Methods

classmethod is_cfn_element(x)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

Parameters:

x (Any) –

Return type:

bool

Returns:

The construct as a stack element or undefined if it is not a stack element.

classmethod is_cfn_resource(construct)

Check whether the given construct is a CfnResource.

Parameters:

construct (IConstruct) –

Return type:

bool

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters:

x (Any) –

Return type:

bool

CloudWatchLogsDestinationDetailsProperty

class CfnCacheCluster.CloudWatchLogsDestinationDetailsProperty(*, log_group)

Bases: object

Configuration details of a CloudWatch Logs destination.

Note that this field is marked as required but only if CloudWatch Logs was chosen as the destination.

Parameters:

log_group (str) – The name of the CloudWatch Logs log group.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-cloudwatchlogsdestinationdetails.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_elasticache as elasticache

cloud_watch_logs_destination_details_property = elasticache.CfnCacheCluster.CloudWatchLogsDestinationDetailsProperty(
    log_group="logGroup"
)

Attributes

log_group

The name of the CloudWatch Logs log group.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-cloudwatchlogsdestinationdetails.html#cfn-elasticache-cachecluster-cloudwatchlogsdestinationdetails-loggroup

DestinationDetailsProperty

class CfnCacheCluster.DestinationDetailsProperty(*, cloud_watch_logs_details=None, kinesis_firehose_details=None)

Bases: object

Configuration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.

Parameters:
  • cloud_watch_logs_details (Union[IResolvable, CloudWatchLogsDestinationDetailsProperty, Dict[str, Any], None]) – The configuration details of the CloudWatch Logs destination. Note that this field is marked as required but only if CloudWatch Logs was chosen as the destination.

  • kinesis_firehose_details (Union[IResolvable, KinesisFirehoseDestinationDetailsProperty, Dict[str, Any], None]) – The configuration details of the Kinesis Data Firehose destination. Note that this field is marked as required but only if Kinesis Data Firehose was chosen as the destination.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-destinationdetails.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_elasticache as elasticache

destination_details_property = elasticache.CfnCacheCluster.DestinationDetailsProperty(
    cloud_watch_logs_details=elasticache.CfnCacheCluster.CloudWatchLogsDestinationDetailsProperty(
        log_group="logGroup"
    ),
    kinesis_firehose_details=elasticache.CfnCacheCluster.KinesisFirehoseDestinationDetailsProperty(
        delivery_stream="deliveryStream"
    )
)

Attributes

cloud_watch_logs_details

The configuration details of the CloudWatch Logs destination.

Note that this field is marked as required but only if CloudWatch Logs was chosen as the destination.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-destinationdetails.html#cfn-elasticache-cachecluster-destinationdetails-cloudwatchlogsdetails

kinesis_firehose_details

The configuration details of the Kinesis Data Firehose destination.

Note that this field is marked as required but only if Kinesis Data Firehose was chosen as the destination.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-destinationdetails.html#cfn-elasticache-cachecluster-destinationdetails-kinesisfirehosedetails

KinesisFirehoseDestinationDetailsProperty

class CfnCacheCluster.KinesisFirehoseDestinationDetailsProperty(*, delivery_stream)

Bases: object

The configuration details of the Kinesis Data Firehose destination.

Note that this field is marked as required but only if Kinesis Data Firehose was chosen as the destination.

Parameters:

delivery_stream (str) – The name of the Kinesis Data Firehose delivery stream.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-kinesisfirehosedestinationdetails.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_elasticache as elasticache

kinesis_firehose_destination_details_property = elasticache.CfnCacheCluster.KinesisFirehoseDestinationDetailsProperty(
    delivery_stream="deliveryStream"
)

Attributes

delivery_stream

The name of the Kinesis Data Firehose delivery stream.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-kinesisfirehosedestinationdetails.html#cfn-elasticache-cachecluster-kinesisfirehosedestinationdetails-deliverystream

LogDeliveryConfigurationRequestProperty

class CfnCacheCluster.LogDeliveryConfigurationRequestProperty(*, destination_details, destination_type, log_format, log_type)

Bases: object

Specifies the destination, format and type of the logs.

Parameters:
  • destination_details (Union[IResolvable, DestinationDetailsProperty, Dict[str, Any]]) – Configuration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.

  • destination_type (str) – Specify either CloudWatch Logs or Kinesis Data Firehose as the destination type. Valid values are either cloudwatch-logs or kinesis-firehose .

  • log_format (str) – Valid values are either json or text .

  • log_type (str) – Valid value is either slow-log , which refers to slow-log or engine-log .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_elasticache as elasticache

log_delivery_configuration_request_property = elasticache.CfnCacheCluster.LogDeliveryConfigurationRequestProperty(
    destination_details=elasticache.CfnCacheCluster.DestinationDetailsProperty(
        cloud_watch_logs_details=elasticache.CfnCacheCluster.CloudWatchLogsDestinationDetailsProperty(
            log_group="logGroup"
        ),
        kinesis_firehose_details=elasticache.CfnCacheCluster.KinesisFirehoseDestinationDetailsProperty(
            delivery_stream="deliveryStream"
        )
    ),
    destination_type="destinationType",
    log_format="logFormat",
    log_type="logType"
)

Attributes

destination_details

Configuration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationdetails

destination_type

Specify either CloudWatch Logs or Kinesis Data Firehose as the destination type.

Valid values are either cloudwatch-logs or kinesis-firehose .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationtype

log_format

Valid values are either json or text .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logformat

log_type

//redis.io/commands/slowlog>`_ or engine-log .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logtype

Type:

Valid value is either slow-log , which refers to `slow-log <https

Type:

//docs.aws.amazon.com/https