# AWS::MemoryDB::Cluster The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. ## Syntax To declare this entity in your AWS CloudFormation template, use the following syntax: ### JSON
{
    "Type" : "AWS::MemoryDB::Cluster",
    "Properties" : {
        "ClusterName" : String,
        "Description" : String,
        "NodeType" : String,
        "NumShards" : Integer,
        "NumReplicasPerShard" : Integer,
        "SubnetGroupName" : String,
        "SecurityGroupIds" : [ String, ... ],
        "MaintenanceWindow" : String,
        "ParameterGroupName" : String,
        "Port" : Integer,
        "SnapshotRetentionLimit" : Integer,
        "SnapshotWindow" : String,
        "ACLName" : String,
        "SnsTopicArn" : String,
        "SnsTopicStatus" : String,
        "TLSEnabled" : Boolean,
        "KmsKeyId" : String,
        "SnapshotArns" : [ String, ... ],
        "SnapshotName" : String,
        "FinalSnapshotName" : String,
        "EngineVersion" : String,
        "ClusterEndpoint" : Endpoint,
        "AutoMinorVersionUpgrade" : Boolean,
        "Tags" : [ Tag, ... ]
    }
}
### YAML
Type: AWS::MemoryDB::Cluster
Properties:
    ClusterName: String
    Description: String
    NodeType: String
    NumShards: Integer
    NumReplicasPerShard: Integer
    SubnetGroupName: String
    SecurityGroupIds: 
      - String
    MaintenanceWindow: String
    ParameterGroupName: String
    Port: Integer
    SnapshotRetentionLimit: Integer
    SnapshotWindow: String
    ACLName: String
    SnsTopicArn: String
    SnsTopicStatus: String
    TLSEnabled: Boolean
    KmsKeyId: String
    SnapshotArns: 
      - String
    SnapshotName: String
    FinalSnapshotName: String
    EngineVersion: String
    ClusterEndpoint: Endpoint
    AutoMinorVersionUpgrade: Boolean
    Tags: 
      - Tag
## Properties #### ClusterName The name of the cluster. This value must be unique as it also serves as the cluster identifier. _Required_: Yes _Type_: String _Pattern_: [a-z][a-z0-9\-]* _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### Description An optional description of the cluster. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### NodeType The compute and memory capacity of the nodes in the cluster. _Required_: Yes _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### NumShards The number of shards the cluster will contain. _Required_: No _Type_: Integer _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### NumReplicasPerShard The number of replicas to apply to each shard. The limit is 5. _Required_: No _Type_: Integer _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### SubnetGroupName The name of the subnet group to be used for the cluster. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### SecurityGroupIds One or more Amazon VPC security groups associated with this cluster. _Required_: No _Type_: List of String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### MaintenanceWindow 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. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### ParameterGroupName The name of the parameter group associated with the cluster. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### Port The port number on which each member of the cluster accepts connections. _Required_: No _Type_: Integer _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### SnapshotRetentionLimit The number of days for which MemoryDB retains automatic 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. _Required_: No _Type_: Integer _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### SnapshotWindow The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your cluster. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### ACLName The name of the Access Control List to associate with the cluster. _Required_: Yes _Type_: String _Pattern_: [a-zA-Z][a-zA-Z0-9\-]* _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### SnsTopicArn The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### SnsTopicStatus The status of the Amazon SNS notification topic. Notifications are sent only if the status is enabled. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### TLSEnabled 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_: No _Type_: Boolean _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### KmsKeyId The ID of the KMS key used to encrypt the cluster. _Required_: No _Type_: String _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### SnapshotArns A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas. _Required_: No _Type_: List of String _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### SnapshotName The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created. _Required_: No _Type_: String _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### FinalSnapshotName The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### EngineVersion The Redis engine version used by the cluster. _Required_: No _Type_: String _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### ClusterEndpoint _Required_: No _Type_: Endpoint _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### AutoMinorVersionUpgrade A flag that enables automatic minor version upgrade when set to true. You cannot modify the value of AutoMinorVersionUpgrade after the cluster is created. To enable AutoMinorVersionUpgrade on a cluster you must set AutoMinorVersionUpgrade to true when you create a cluster. _Required_: No _Type_: Boolean _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### Tags An array of key-value pairs to apply to this cluster. _Required_: No _Type_: List of Tag _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) ## Return Values ### Ref When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ClusterName. ### Fn::GetAtt The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values. For more information about using the `Fn::GetAtt` intrinsic function, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html). #### Status The status of the cluster. For example, Available, Updating, Creating. #### Address Returns the Address value. #### Port Returns the Port value. #### ARN The Amazon Resource Name (ARN) of the cluster. #### ParameterGroupStatus The status of the parameter group used by the cluster.