

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# Amazon MemoryDB
<a name="AWS_MemoryDB"></a>

**Resource types**
+ [AWS::MemoryDB::ACL](aws-resource-memorydb-acl.md)
+ [AWS::MemoryDB::Cluster](aws-resource-memorydb-cluster.md)
+ [AWS::MemoryDB::MultiRegionCluster](aws-resource-memorydb-multiregioncluster.md)
+ [AWS::MemoryDB::ParameterGroup](aws-resource-memorydb-parametergroup.md)
+ [AWS::MemoryDB::SubnetGroup](aws-resource-memorydb-subnetgroup.md)
+ [AWS::MemoryDB::User](aws-resource-memorydb-user.md)

# AWS::MemoryDB::ACL
<a name="aws-resource-memorydb-acl"></a>

Specifies an Access Control List. For more information, see [Authenticating users with Access Contol Lists (ACLs)](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html).

## Syntax
<a name="aws-resource-memorydb-acl-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-memorydb-acl-syntax.json"></a>

```
{
  "Type" : "AWS::MemoryDB::ACL",
  "Properties" : {
      "[ACLName](#cfn-memorydb-acl-aclname)" : String,
      "[Tags](#cfn-memorydb-acl-tags)" : [ Tag, ... ],
      "[UserNames](#cfn-memorydb-acl-usernames)" : [ String, ... ]
    }
}
```

### YAML
<a name="aws-resource-memorydb-acl-syntax.yaml"></a>

```
Type: AWS::MemoryDB::ACL
Properties:
  [ACLName](#cfn-memorydb-acl-aclname): String
  [Tags](#cfn-memorydb-acl-tags): 
    - Tag
  [UserNames](#cfn-memorydb-acl-usernames): 
    - String
```

## Properties
<a name="aws-resource-memorydb-acl-properties"></a>

`ACLName`  <a name="cfn-memorydb-acl-aclname"></a>
The name of the Access Control List. This value is stored as a lowercase string.  
*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)

`Tags`  <a name="cfn-memorydb-acl-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-memorydb-acl-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserNames`  <a name="cfn-memorydb-acl-usernames"></a>
The list of users that belong to the Access Control List.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-memorydb-acl-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-memorydb-acl-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-memorydb-acl-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the Access Control List, such as `arn:aws:memorydb:us-east-1:123456789012:acl/my-acl`

`Status`  <a name="Status-fn::getatt"></a>
Indicates ACL status.  
*Valid values*: `creating` \$1 `active` \$1 `modifying` \$1 `deleting`

# AWS::MemoryDB::ACL Tag
<a name="aws-properties-memorydb-acl-tag"></a>

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see [Tagging your MemoryDB resources](https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging-resources.html)

## Syntax
<a name="aws-properties-memorydb-acl-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-acl-tag-syntax.json"></a>

```
{
  "[Key](#cfn-memorydb-acl-tag-key)" : String,
  "[Value](#cfn-memorydb-acl-tag-value)" : String
}
```

### YAML
<a name="aws-properties-memorydb-acl-tag-syntax.yaml"></a>

```
  [Key](#cfn-memorydb-acl-tag-key): String
  [Value](#cfn-memorydb-acl-tag-value): String
```

## Properties
<a name="aws-properties-memorydb-acl-tag-properties"></a>

`Key`  <a name="cfn-memorydb-acl-tag-key"></a>
The key for the tag. May not be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)[a-zA-Z0-9 _\.\/=+:\-@]*$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-memorydb-acl-tag-value"></a>
The tag's value. May be null.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9 _\.\/=+:\-@]*$`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MemoryDB::Cluster
<a name="aws-resource-memorydb-cluster"></a>

Specifies a cluster. All nodes in the cluster run the same protocol-compliant engine software.

## Syntax
<a name="aws-resource-memorydb-cluster-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-memorydb-cluster-syntax.json"></a>

```
{
  "Type" : "AWS::MemoryDB::Cluster",
  "Properties" : {
      "[ACLName](#cfn-memorydb-cluster-aclname)" : String,
      "[AutoMinorVersionUpgrade](#cfn-memorydb-cluster-autominorversionupgrade)" : Boolean,
      "[ClusterEndpoint](#cfn-memorydb-cluster-clusterendpoint)" : Endpoint,
      "[ClusterName](#cfn-memorydb-cluster-clustername)" : String,
      "[DataTiering](#cfn-memorydb-cluster-datatiering)" : String,
      "[Description](#cfn-memorydb-cluster-description)" : String,
      "[Engine](#cfn-memorydb-cluster-engine)" : String,
      "[EngineVersion](#cfn-memorydb-cluster-engineversion)" : String,
      "[FinalSnapshotName](#cfn-memorydb-cluster-finalsnapshotname)" : String,
      "[IpDiscovery](#cfn-memorydb-cluster-ipdiscovery)" : String,
      "[KmsKeyId](#cfn-memorydb-cluster-kmskeyid)" : String,
      "[MaintenanceWindow](#cfn-memorydb-cluster-maintenancewindow)" : String,
      "[MultiRegionClusterName](#cfn-memorydb-cluster-multiregionclustername)" : String,
      "[NetworkType](#cfn-memorydb-cluster-networktype)" : String,
      "[NodeType](#cfn-memorydb-cluster-nodetype)" : String,
      "[NumReplicasPerShard](#cfn-memorydb-cluster-numreplicaspershard)" : Integer,
      "[NumShards](#cfn-memorydb-cluster-numshards)" : Integer,
      "[ParameterGroupName](#cfn-memorydb-cluster-parametergroupname)" : String,
      "[Port](#cfn-memorydb-cluster-port)" : Integer,
      "[SecurityGroupIds](#cfn-memorydb-cluster-securitygroupids)" : [ String, ... ],
      "[SnapshotArns](#cfn-memorydb-cluster-snapshotarns)" : [ String, ... ],
      "[SnapshotName](#cfn-memorydb-cluster-snapshotname)" : String,
      "[SnapshotRetentionLimit](#cfn-memorydb-cluster-snapshotretentionlimit)" : Integer,
      "[SnapshotWindow](#cfn-memorydb-cluster-snapshotwindow)" : String,
      "[SnsTopicArn](#cfn-memorydb-cluster-snstopicarn)" : String,
      "[SnsTopicStatus](#cfn-memorydb-cluster-snstopicstatus)" : String,
      "[SubnetGroupName](#cfn-memorydb-cluster-subnetgroupname)" : String,
      "[Tags](#cfn-memorydb-cluster-tags)" : [ Tag, ... ],
      "[TLSEnabled](#cfn-memorydb-cluster-tlsenabled)" : Boolean
    }
}
```

### YAML
<a name="aws-resource-memorydb-cluster-syntax.yaml"></a>

```
Type: AWS::MemoryDB::Cluster
Properties:
  [ACLName](#cfn-memorydb-cluster-aclname): String
  [AutoMinorVersionUpgrade](#cfn-memorydb-cluster-autominorversionupgrade): Boolean
  [ClusterEndpoint](#cfn-memorydb-cluster-clusterendpoint): 
    Endpoint
  [ClusterName](#cfn-memorydb-cluster-clustername): String
  [DataTiering](#cfn-memorydb-cluster-datatiering): String
  [Description](#cfn-memorydb-cluster-description): String
  [Engine](#cfn-memorydb-cluster-engine): String
  [EngineVersion](#cfn-memorydb-cluster-engineversion): String
  [FinalSnapshotName](#cfn-memorydb-cluster-finalsnapshotname): String
  [IpDiscovery](#cfn-memorydb-cluster-ipdiscovery): String
  [KmsKeyId](#cfn-memorydb-cluster-kmskeyid): String
  [MaintenanceWindow](#cfn-memorydb-cluster-maintenancewindow): String
  [MultiRegionClusterName](#cfn-memorydb-cluster-multiregionclustername): String
  [NetworkType](#cfn-memorydb-cluster-networktype): String
  [NodeType](#cfn-memorydb-cluster-nodetype): String
  [NumReplicasPerShard](#cfn-memorydb-cluster-numreplicaspershard): Integer
  [NumShards](#cfn-memorydb-cluster-numshards): Integer
  [ParameterGroupName](#cfn-memorydb-cluster-parametergroupname): String
  [Port](#cfn-memorydb-cluster-port): Integer
  [SecurityGroupIds](#cfn-memorydb-cluster-securitygroupids): 
    - String
  [SnapshotArns](#cfn-memorydb-cluster-snapshotarns): 
    - String
  [SnapshotName](#cfn-memorydb-cluster-snapshotname): String
  [SnapshotRetentionLimit](#cfn-memorydb-cluster-snapshotretentionlimit): Integer
  [SnapshotWindow](#cfn-memorydb-cluster-snapshotwindow): String
  [SnsTopicArn](#cfn-memorydb-cluster-snstopicarn): String
  [SnsTopicStatus](#cfn-memorydb-cluster-snstopicstatus): String
  [SubnetGroupName](#cfn-memorydb-cluster-subnetgroupname): String
  [Tags](#cfn-memorydb-cluster-tags): 
    - Tag
  [TLSEnabled](#cfn-memorydb-cluster-tlsenabled): Boolean
```

## Properties
<a name="aws-resource-memorydb-cluster-properties"></a>

`ACLName`  <a name="cfn-memorydb-cluster-aclname"></a>
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)

`AutoMinorVersionUpgrade`  <a name="cfn-memorydb-cluster-autominorversionupgrade"></a>
When set to true, the cluster will automatically receive minor engine version upgrades after launch.  
*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)

`ClusterEndpoint`  <a name="cfn-memorydb-cluster-clusterendpoint"></a>
The cluster's configuration endpoint.  
*Required*: No  
*Type*: [Endpoint](aws-properties-memorydb-cluster-endpoint.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ClusterName`  <a name="cfn-memorydb-cluster-clustername"></a>
The name of the cluster.  
*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)

`DataTiering`  <a name="cfn-memorydb-cluster-datatiering"></a>
Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html).  
*Required*: No  
*Type*: String  
*Allowed values*: `true | false`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Description`  <a name="cfn-memorydb-cluster-description"></a>
A 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)

`Engine`  <a name="cfn-memorydb-cluster-engine"></a>
The name of the engine 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)

`EngineVersion`  <a name="cfn-memorydb-cluster-engineversion"></a>
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)

`FinalSnapshotName`  <a name="cfn-memorydb-cluster-finalsnapshotname"></a>
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)

`IpDiscovery`  <a name="cfn-memorydb-cluster-ipdiscovery"></a>
The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.  
*Required*: No  
*Type*: String  
*Allowed values*: `ipv4 | ipv6`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyId`  <a name="cfn-memorydb-cluster-kmskeyid"></a>
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)

`MaintenanceWindow`  <a name="cfn-memorydb-cluster-maintenancewindow"></a>
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.  
*Pattern*: `ddd:hh24:mi-ddd:hh24:mi`  
*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)

`MultiRegionClusterName`  <a name="cfn-memorydb-cluster-multiregionclustername"></a>
The name of the multi-Region cluster that this cluster belongs to.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NetworkType`  <a name="cfn-memorydb-cluster-networktype"></a>
The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.  
*Required*: No  
*Type*: String  
*Allowed values*: `ipv4 | ipv6 | dual_stack`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NodeType`  <a name="cfn-memorydb-cluster-nodetype"></a>
The cluster's node type.  
*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)

`NumReplicasPerShard`  <a name="cfn-memorydb-cluster-numreplicaspershard"></a>
The number of replicas to apply to each shard.  
*Default value*: `1`  
*Maximum value*: `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)

`NumShards`  <a name="cfn-memorydb-cluster-numshards"></a>
The number of shards in the cluster.  
*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)

`ParameterGroupName`  <a name="cfn-memorydb-cluster-parametergroupname"></a>
The name of the parameter group 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)

`Port`  <a name="cfn-memorydb-cluster-port"></a>
The port used by the cluster.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecurityGroupIds`  <a name="cfn-memorydb-cluster-securitygroupids"></a>
A list of security group names to associate with this cluster.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SnapshotArns`  <a name="cfn-memorydb-cluster-snapshotarns"></a>
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*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SnapshotName`  <a name="cfn-memorydb-cluster-snapshotname"></a>
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)

`SnapshotRetentionLimit`  <a name="cfn-memorydb-cluster-snapshotretentionlimit"></a>
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`  <a name="cfn-memorydb-cluster-snapshotwindow"></a>
The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: 05:00-09:00 If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.  
*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)

`SnsTopicArn`  <a name="cfn-memorydb-cluster-snstopicarn"></a>
When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the SNS topic, such as `arn:aws:memorydb:us-east-1:123456789012:mySNSTopic`  
*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`  <a name="cfn-memorydb-cluster-snstopicstatus"></a>
The SNS topic must be in Active status to receive notifications.  
*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)

`SubnetGroupName`  <a name="cfn-memorydb-cluster-subnetgroupname"></a>
The name of the subnet group used by 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)

`Tags`  <a name="cfn-memorydb-cluster-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-memorydb-cluster-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TLSEnabled`  <a name="cfn-memorydb-cluster-tlsenabled"></a>
A flag to indicate if In-transit encryption is enabled.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-memorydb-cluster-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-memorydb-cluster-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-memorydb-cluster-return-values-fn--getatt-fn--getatt"></a>

`ARN`  <a name="ARN-fn::getatt"></a>
When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the cluster, such as `arn:aws:memorydb:us-east-1:123456789012:cluster/my-cluster`

`ClusterEndpoint.Address`  <a name="ClusterEndpoint.Address-fn::getatt"></a>
The address of the cluster's configuration endpoint.

`ClusterEndpoint.Port`  <a name="ClusterEndpoint.Port-fn::getatt"></a>
The port used by the cluster configuration endpoint.

`ParameterGroupStatus`  <a name="ParameterGroupStatus-fn::getatt"></a>
The status of the parameter group used by the cluster, for example `active` or `applying`.

`Status`  <a name="Status-fn::getatt"></a>
The status of the cluster. For example, 'available', 'updating' or 'creating'.

# AWS::MemoryDB::Cluster Endpoint
<a name="aws-properties-memorydb-cluster-endpoint"></a>

Represents the information required for client programs to connect to the cluster and its nodes.

## Syntax
<a name="aws-properties-memorydb-cluster-endpoint-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-cluster-endpoint-syntax.json"></a>

```
{
  "[Address](#cfn-memorydb-cluster-endpoint-address)" : String,
  "[Port](#cfn-memorydb-cluster-endpoint-port)" : Integer
}
```

### YAML
<a name="aws-properties-memorydb-cluster-endpoint-syntax.yaml"></a>

```
  [Address](#cfn-memorydb-cluster-endpoint-address): String
  [Port](#cfn-memorydb-cluster-endpoint-port): Integer
```

## Properties
<a name="aws-properties-memorydb-cluster-endpoint-properties"></a>

`Address`  <a name="cfn-memorydb-cluster-endpoint-address"></a>
The DNS hostname of the node.  
*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`  <a name="cfn-memorydb-cluster-endpoint-port"></a>
The port number that the engine is listening on.  
*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)

# AWS::MemoryDB::Cluster Tag
<a name="aws-properties-memorydb-cluster-tag"></a>

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see [Tagging your MemoryDB resources](https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging-resources.html)

## Syntax
<a name="aws-properties-memorydb-cluster-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-cluster-tag-syntax.json"></a>

```
{
  "[Key](#cfn-memorydb-cluster-tag-key)" : String,
  "[Value](#cfn-memorydb-cluster-tag-value)" : String
}
```

### YAML
<a name="aws-properties-memorydb-cluster-tag-syntax.yaml"></a>

```
  [Key](#cfn-memorydb-cluster-tag-key): String
  [Value](#cfn-memorydb-cluster-tag-value): String
```

## Properties
<a name="aws-properties-memorydb-cluster-tag-properties"></a>

`Key`  <a name="cfn-memorydb-cluster-tag-key"></a>
The key for the tag. May not be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,128}$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-memorydb-cluster-tag-value"></a>
The tag's value. May be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,256}$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MemoryDB::MultiRegionCluster
<a name="aws-resource-memorydb-multiregioncluster"></a>

Represents a multi-Region cluster.

## Syntax
<a name="aws-resource-memorydb-multiregioncluster-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-memorydb-multiregioncluster-syntax.json"></a>

```
{
  "Type" : "AWS::MemoryDB::MultiRegionCluster",
  "Properties" : {
      "[Description](#cfn-memorydb-multiregioncluster-description)" : String,
      "[Engine](#cfn-memorydb-multiregioncluster-engine)" : String,
      "[EngineVersion](#cfn-memorydb-multiregioncluster-engineversion)" : String,
      "[MultiRegionClusterNameSuffix](#cfn-memorydb-multiregioncluster-multiregionclusternamesuffix)" : String,
      "[MultiRegionParameterGroupName](#cfn-memorydb-multiregioncluster-multiregionparametergroupname)" : String,
      "[NodeType](#cfn-memorydb-multiregioncluster-nodetype)" : String,
      "[NumShards](#cfn-memorydb-multiregioncluster-numshards)" : Integer,
      "[Tags](#cfn-memorydb-multiregioncluster-tags)" : [ Tag, ... ],
      "[TLSEnabled](#cfn-memorydb-multiregioncluster-tlsenabled)" : Boolean,
      "[UpdateStrategy](#cfn-memorydb-multiregioncluster-updatestrategy)" : String
    }
}
```

### YAML
<a name="aws-resource-memorydb-multiregioncluster-syntax.yaml"></a>

```
Type: AWS::MemoryDB::MultiRegionCluster
Properties:
  [Description](#cfn-memorydb-multiregioncluster-description): String
  [Engine](#cfn-memorydb-multiregioncluster-engine): String
  [EngineVersion](#cfn-memorydb-multiregioncluster-engineversion): String
  [MultiRegionClusterNameSuffix](#cfn-memorydb-multiregioncluster-multiregionclusternamesuffix): String
  [MultiRegionParameterGroupName](#cfn-memorydb-multiregioncluster-multiregionparametergroupname): String
  [NodeType](#cfn-memorydb-multiregioncluster-nodetype): String
  [NumShards](#cfn-memorydb-multiregioncluster-numshards): Integer
  [Tags](#cfn-memorydb-multiregioncluster-tags): 
    - Tag
  [TLSEnabled](#cfn-memorydb-multiregioncluster-tlsenabled): Boolean
  [UpdateStrategy](#cfn-memorydb-multiregioncluster-updatestrategy): String
```

## Properties
<a name="aws-resource-memorydb-multiregioncluster-properties"></a>

`Description`  <a name="cfn-memorydb-multiregioncluster-description"></a>
The description of the multi-Region 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)

`Engine`  <a name="cfn-memorydb-multiregioncluster-engine"></a>
The name of the engine used by the multi-Region 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)

`EngineVersion`  <a name="cfn-memorydb-multiregioncluster-engineversion"></a>
The version of the engine used by the multi-Region 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)

`MultiRegionClusterNameSuffix`  <a name="cfn-memorydb-multiregioncluster-multiregionclusternamesuffix"></a>
A suffix to be added to the Multi-Region cluster name. Amazon MemoryDB automatically applies a prefix to the Multi-Region cluster Name when it is created. Each Amazon Region has its own prefix. For instance, a Multi-Region cluster Name created in the US-West-1 region will begin with "virxk", along with the suffix name you provide. The suffix guarantees uniqueness of the Multi-Region cluster name across multiple regions.  
*Required*: No  
*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)

`MultiRegionParameterGroupName`  <a name="cfn-memorydb-multiregioncluster-multiregionparametergroupname"></a>
The name of the multi-Region parameter group associated with 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)

`NodeType`  <a name="cfn-memorydb-multiregioncluster-nodetype"></a>
The node type used by the multi-Region 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`  <a name="cfn-memorydb-multiregioncluster-numshards"></a>
The number of shards in the multi-Region cluster.  
*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)

`Tags`  <a name="cfn-memorydb-multiregioncluster-tags"></a>
A list of tags to be applied to the multi-Region cluster.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-memorydb-multiregioncluster-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TLSEnabled`  <a name="cfn-memorydb-multiregioncluster-tlsenabled"></a>
Indiciates if the multi-Region cluster is TLS enabled.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UpdateStrategy`  <a name="cfn-memorydb-multiregioncluster-updatestrategy"></a>
The strategy to use for the update operation. Supported values are "coordinated" or "uncoordinated".  
*Required*: No  
*Type*: String  
*Allowed values*: `COORDINATED | UNCOORDINATED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-memorydb-multiregioncluster-return-values"></a>

### Ref
<a name="aws-resource-memorydb-multiregioncluster-return-values-ref"></a>



### Fn::GetAtt
<a name="aws-resource-memorydb-multiregioncluster-return-values-fn--getatt"></a>



#### 
<a name="aws-resource-memorydb-multiregioncluster-return-values-fn--getatt-fn--getatt"></a>

`ARN`  <a name="ARN-fn::getatt"></a>
The Amazon Resource Name (ARN) of the multi-Region cluster.

`MultiRegionClusterName`  <a name="MultiRegionClusterName-fn::getatt"></a>
The name of the multi-Region cluster.

`Status`  <a name="Status-fn::getatt"></a>
The current status of the multi-Region cluster.

# AWS::MemoryDB::MultiRegionCluster Tag
<a name="aws-properties-memorydb-multiregioncluster-tag"></a>

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see [Tagging your MemoryDB resources](https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging-resources.html)

## Syntax
<a name="aws-properties-memorydb-multiregioncluster-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-multiregioncluster-tag-syntax.json"></a>

```
{
  "[Key](#cfn-memorydb-multiregioncluster-tag-key)" : String,
  "[Value](#cfn-memorydb-multiregioncluster-tag-value)" : String
}
```

### YAML
<a name="aws-properties-memorydb-multiregioncluster-tag-syntax.yaml"></a>

```
  [Key](#cfn-memorydb-multiregioncluster-tag-key): String
  [Value](#cfn-memorydb-multiregioncluster-tag-value): String
```

## Properties
<a name="aws-properties-memorydb-multiregioncluster-tag-properties"></a>

`Key`  <a name="cfn-memorydb-multiregioncluster-tag-key"></a>
The key for the tag. May not be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,128}$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-memorydb-multiregioncluster-tag-value"></a>
The tag's value. May be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,256}$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MemoryDB::ParameterGroup
<a name="aws-resource-memorydb-parametergroup"></a>

Specifies a new MemoryDB parameter group. A parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster. For more information, see [Configuring engine parameters using parameter groups](https://docs.aws.amazon.com/memorydb/latest/devguide/parametergroups.html). 

## Syntax
<a name="aws-resource-memorydb-parametergroup-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-memorydb-parametergroup-syntax.json"></a>

```
{
  "Type" : "AWS::MemoryDB::ParameterGroup",
  "Properties" : {
      "[Description](#cfn-memorydb-parametergroup-description)" : String,
      "[Family](#cfn-memorydb-parametergroup-family)" : String,
      "[ParameterGroupName](#cfn-memorydb-parametergroup-parametergroupname)" : String,
      "[Parameters](#cfn-memorydb-parametergroup-parameters)" : Json,
      "[Tags](#cfn-memorydb-parametergroup-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-memorydb-parametergroup-syntax.yaml"></a>

```
Type: AWS::MemoryDB::ParameterGroup
Properties:
  [Description](#cfn-memorydb-parametergroup-description): String
  [Family](#cfn-memorydb-parametergroup-family): String
  [ParameterGroupName](#cfn-memorydb-parametergroup-parametergroupname): String
  [Parameters](#cfn-memorydb-parametergroup-parameters): Json
  [Tags](#cfn-memorydb-parametergroup-tags): 
    - Tag
```

## Properties
<a name="aws-resource-memorydb-parametergroup-properties"></a>

`Description`  <a name="cfn-memorydb-parametergroup-description"></a>
A description of the parameter group.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Family`  <a name="cfn-memorydb-parametergroup-family"></a>
The name of the parameter group family that this parameter group is compatible with.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ParameterGroupName`  <a name="cfn-memorydb-parametergroup-parametergroupname"></a>
The name of the parameter group.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Parameters`  <a name="cfn-memorydb-parametergroup-parameters"></a>
Returns the detailed parameter list for the parameter group.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-memorydb-parametergroup-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-memorydb-parametergroup-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-memorydb-parametergroup-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-memorydb-parametergroup-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-memorydb-parametergroup-return-values-fn--getatt-fn--getatt"></a>

`ARN`  <a name="ARN-fn::getatt"></a>
When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the parameter group, such as `arn:aws:memorydb:us-east-1:123456789012:parametergroup/my-parameter-group`

# AWS::MemoryDB::ParameterGroup Tag
<a name="aws-properties-memorydb-parametergroup-tag"></a>

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see [Tagging your MemoryDB resources](https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging-resources.html)

## Syntax
<a name="aws-properties-memorydb-parametergroup-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-parametergroup-tag-syntax.json"></a>

```
{
  "[Key](#cfn-memorydb-parametergroup-tag-key)" : String,
  "[Value](#cfn-memorydb-parametergroup-tag-value)" : String
}
```

### YAML
<a name="aws-properties-memorydb-parametergroup-tag-syntax.yaml"></a>

```
  [Key](#cfn-memorydb-parametergroup-tag-key): String
  [Value](#cfn-memorydb-parametergroup-tag-value): String
```

## Properties
<a name="aws-properties-memorydb-parametergroup-tag-properties"></a>

`Key`  <a name="cfn-memorydb-parametergroup-tag-key"></a>
The key for the tag. May not be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,128}$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-memorydb-parametergroup-tag-value"></a>
The tag's value. May be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,256}$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MemoryDB::SubnetGroup
<a name="aws-resource-memorydb-subnetgroup"></a>

Specifies a subnet group. A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment. When you create a cluster in an Amazon VPC, you must specify a subnet group. MemoryDB uses that subnet group to choose a subnet and IP addresses within that subnet to associate with your nodes. For more information, see [Subnets and subnet groups](https://docs.aws.amazon.com/memorydb/latest/devguide/subnetgroups.html).

## Syntax
<a name="aws-resource-memorydb-subnetgroup-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-memorydb-subnetgroup-syntax.json"></a>

```
{
  "Type" : "AWS::MemoryDB::SubnetGroup",
  "Properties" : {
      "[Description](#cfn-memorydb-subnetgroup-description)" : String,
      "[SubnetGroupName](#cfn-memorydb-subnetgroup-subnetgroupname)" : String,
      "[SubnetIds](#cfn-memorydb-subnetgroup-subnetids)" : [ String, ... ],
      "[Tags](#cfn-memorydb-subnetgroup-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-memorydb-subnetgroup-syntax.yaml"></a>

```
Type: AWS::MemoryDB::SubnetGroup
Properties:
  [Description](#cfn-memorydb-subnetgroup-description): String
  [SubnetGroupName](#cfn-memorydb-subnetgroup-subnetgroupname): String
  [SubnetIds](#cfn-memorydb-subnetgroup-subnetids): 
    - String
  [Tags](#cfn-memorydb-subnetgroup-tags): 
    - Tag
```

## Properties
<a name="aws-resource-memorydb-subnetgroup-properties"></a>

`Description`  <a name="cfn-memorydb-subnetgroup-description"></a>
A description of the subnet group.  
*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)

`SubnetGroupName`  <a name="cfn-memorydb-subnetgroup-subnetgroupname"></a>
The name of the subnet group to be used for the cluster.  
*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)

`SubnetIds`  <a name="cfn-memorydb-subnetgroup-subnetids"></a>
A list of Amazon VPC subnet IDs for the subnet group.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-memorydb-subnetgroup-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-memorydb-subnetgroup-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-memorydb-subnetgroup-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-memorydb-subnetgroup-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-memorydb-subnetgroup-return-values-fn--getatt-fn--getatt"></a>

`ARN`  <a name="ARN-fn::getatt"></a>
When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the subnet group, such as `arn:aws:memorydb:us-east-1:123456789012:subnetgroup/my-subnet-group`

`SupportedNetworkTypes`  <a name="SupportedNetworkTypes-fn::getatt"></a>
The network types supported by this subnet. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating whether the subnet supports IPv4 only, IPv6 only, or dual-stack deployments.

# AWS::MemoryDB::SubnetGroup Tag
<a name="aws-properties-memorydb-subnetgroup-tag"></a>

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see [Tagging your MemoryDB resources](https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging-resources.html)

## Syntax
<a name="aws-properties-memorydb-subnetgroup-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-subnetgroup-tag-syntax.json"></a>

```
{
  "[Key](#cfn-memorydb-subnetgroup-tag-key)" : String,
  "[Value](#cfn-memorydb-subnetgroup-tag-value)" : String
}
```

### YAML
<a name="aws-properties-memorydb-subnetgroup-tag-syntax.yaml"></a>

```
  [Key](#cfn-memorydb-subnetgroup-tag-key): String
  [Value](#cfn-memorydb-subnetgroup-tag-value): String
```

## Properties
<a name="aws-properties-memorydb-subnetgroup-tag-properties"></a>

`Key`  <a name="cfn-memorydb-subnetgroup-tag-key"></a>
The key for the tag. May not be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,128}$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-memorydb-subnetgroup-tag-value"></a>
The tag's value. May be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\.\/=+:\-@]{1,256}$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MemoryDB::User
<a name="aws-resource-memorydb-user"></a>

Specifies a MemoryDB user. For more information, see [Authenticating users with Access Contol Lists (ACLs)](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html).

## Syntax
<a name="aws-resource-memorydb-user-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-memorydb-user-syntax.json"></a>

```
{
  "Type" : "AWS::MemoryDB::User",
  "Properties" : {
      "[AccessString](#cfn-memorydb-user-accessstring)" : String,
      "[AuthenticationMode](#cfn-memorydb-user-authenticationmode)" : AuthenticationMode,
      "[Tags](#cfn-memorydb-user-tags)" : [ Tag, ... ],
      "[UserName](#cfn-memorydb-user-username)" : String
    }
}
```

### YAML
<a name="aws-resource-memorydb-user-syntax.yaml"></a>

```
Type: AWS::MemoryDB::User
Properties:
  [AccessString](#cfn-memorydb-user-accessstring): 
    String
  [AuthenticationMode](#cfn-memorydb-user-authenticationmode): 
    AuthenticationMode
  [Tags](#cfn-memorydb-user-tags): 
    - Tag
  [UserName](#cfn-memorydb-user-username): String
```

## Properties
<a name="aws-resource-memorydb-user-properties"></a>

`AccessString`  <a name="cfn-memorydb-user-accessstring"></a>
Access permissions string used for this user.  
*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)

`AuthenticationMode`  <a name="cfn-memorydb-user-authenticationmode"></a>
Denotes whether the user requires a password to authenticate.  
 **Example:**   

```
mynewdbuser:
     Type: AWS::MemoryDB::User
     Properties: 
     AccessString: on ~* &* +@all
     AuthenticationMode: 
         Passwords: '1234567890123456'
         Type: password
     UserName: mynewdbuser
     
     AuthenticationMode:
     {
         "Passwords": ["1234567890123456"],
         "Type": "Password"
     }
```
*Required*: No  
*Type*: [AuthenticationMode](aws-properties-memorydb-user-authenticationmode.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-memorydb-user-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-memorydb-user-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserName`  <a name="cfn-memorydb-user-username"></a>
The name of the user.  
*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)

## Return values
<a name="aws-resource-memorydb-user-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-memorydb-user-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-memorydb-user-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the user, such as `arn:aws:memorydb:us-east-1:123456789012:user/user1`

`Status`  <a name="Status-fn::getatt"></a>
Indicates the user status.  
*Valid values*: `active` \$1 `modifying` \$1 `deleting`

# AWS::MemoryDB::User AuthenticationMode
<a name="aws-properties-memorydb-user-authenticationmode"></a>

Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

## Syntax
<a name="aws-properties-memorydb-user-authenticationmode-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-user-authenticationmode-syntax.json"></a>

```
{
  "[Passwords](#cfn-memorydb-user-authenticationmode-passwords)" : [ String, ... ],
  "[Type](#cfn-memorydb-user-authenticationmode-type)" : String
}
```

### YAML
<a name="aws-properties-memorydb-user-authenticationmode-syntax.yaml"></a>

```
  [Passwords](#cfn-memorydb-user-authenticationmode-passwords): 
    - String
  [Type](#cfn-memorydb-user-authenticationmode-type): String
```

## Properties
<a name="aws-properties-memorydb-user-authenticationmode-properties"></a>

`Passwords`  <a name="cfn-memorydb-user-authenticationmode-passwords"></a>
The password(s) used for authentication  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-memorydb-user-authenticationmode-type"></a>
Indicates whether the user requires a password to authenticate. All newly-created users require a password.  
*Required*: No  
*Type*: String  
*Allowed values*: `password | iam`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MemoryDB::User Tag
<a name="aws-properties-memorydb-user-tag"></a>

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see [Tagging your MemoryDB resources](https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging-resources.html)

## Syntax
<a name="aws-properties-memorydb-user-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-memorydb-user-tag-syntax.json"></a>

```
{
  "[Key](#cfn-memorydb-user-tag-key)" : String,
  "[Value](#cfn-memorydb-user-tag-value)" : String
}
```

### YAML
<a name="aws-properties-memorydb-user-tag-syntax.yaml"></a>

```
  [Key](#cfn-memorydb-user-tag-key): String
  [Value](#cfn-memorydb-user-tag-value): String
```

## Properties
<a name="aws-properties-memorydb-user-tag-properties"></a>

`Key`  <a name="cfn-memorydb-user-tag-key"></a>
The key for the tag. May not be null.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!aws:)[a-zA-Z0-9 _\.\/=+:\-@]*$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-memorydb-user-tag-value"></a>
The tag's value. May be null.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9 _\.\/=+:\-@]*$`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)