

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).

# AWS::ElastiCache::GlobalReplicationGroup
<a name="aws-resource-elasticache-globalreplicationgroup"></a>

Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.
+ The **GlobalReplicationGroupIdSuffix** represents the name of the Global datastore, which is what you use to associate a secondary cluster.

## Syntax
<a name="aws-resource-elasticache-globalreplicationgroup-syntax"></a>

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

### JSON
<a name="aws-resource-elasticache-globalreplicationgroup-syntax.json"></a>

```
{
  "Type" : "AWS::ElastiCache::GlobalReplicationGroup",
  "Properties" : {
      "[AutomaticFailoverEnabled](#cfn-elasticache-globalreplicationgroup-automaticfailoverenabled)" : Boolean,
      "[CacheNodeType](#cfn-elasticache-globalreplicationgroup-cachenodetype)" : String,
      "[CacheParameterGroupName](#cfn-elasticache-globalreplicationgroup-cacheparametergroupname)" : String,
      "[Engine](#cfn-elasticache-globalreplicationgroup-engine)" : String,
      "[EngineVersion](#cfn-elasticache-globalreplicationgroup-engineversion)" : String,
      "[GlobalNodeGroupCount](#cfn-elasticache-globalreplicationgroup-globalnodegroupcount)" : Integer,
      "[GlobalReplicationGroupDescription](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupdescription)" : String,
      "[GlobalReplicationGroupIdSuffix](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupidsuffix)" : String,
      "[Members](#cfn-elasticache-globalreplicationgroup-members)" : [ GlobalReplicationGroupMember, ... ],
      "[RegionalConfigurations](#cfn-elasticache-globalreplicationgroup-regionalconfigurations)" : [ RegionalConfiguration, ... ]
    }
}
```

### YAML
<a name="aws-resource-elasticache-globalreplicationgroup-syntax.yaml"></a>

```
Type: AWS::ElastiCache::GlobalReplicationGroup
Properties:
  [AutomaticFailoverEnabled](#cfn-elasticache-globalreplicationgroup-automaticfailoverenabled): Boolean
  [CacheNodeType](#cfn-elasticache-globalreplicationgroup-cachenodetype): String
  [CacheParameterGroupName](#cfn-elasticache-globalreplicationgroup-cacheparametergroupname): String
  [Engine](#cfn-elasticache-globalreplicationgroup-engine): String
  [EngineVersion](#cfn-elasticache-globalreplicationgroup-engineversion): String
  [GlobalNodeGroupCount](#cfn-elasticache-globalreplicationgroup-globalnodegroupcount): Integer
  [GlobalReplicationGroupDescription](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupdescription): String
  [GlobalReplicationGroupIdSuffix](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupidsuffix): String
  [Members](#cfn-elasticache-globalreplicationgroup-members): 
    - GlobalReplicationGroupMember
  [RegionalConfigurations](#cfn-elasticache-globalreplicationgroup-regionalconfigurations): 
    - RegionalConfiguration
```

## Properties
<a name="aws-resource-elasticache-globalreplicationgroup-properties"></a>

`AutomaticFailoverEnabled`  <a name="cfn-elasticache-globalreplicationgroup-automaticfailoverenabled"></a>
Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.  
`AutomaticFailoverEnabled` must be enabled for Valkey or Redis OSS (cluster mode enabled) replication groups.  
*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)

`CacheNodeType`  <a name="cfn-elasticache-globalreplicationgroup-cachenodetype"></a>
The cache node type of the Global datastore  
*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)

`CacheParameterGroupName`  <a name="cfn-elasticache-globalreplicationgroup-cacheparametergroupname"></a>
The name of the cache parameter group to use with the Global datastore. It must be compatible with the major engine version used by the Global datastore.  
*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-elasticache-globalreplicationgroup-engine"></a>
The ElastiCache engine. For Valkey or Redis OSS only.  
*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-elasticache-globalreplicationgroup-engineversion"></a>
The Elasticache Valkey or Redis OSS engine version.  
*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)

`GlobalNodeGroupCount`  <a name="cfn-elasticache-globalreplicationgroup-globalnodegroupcount"></a>
The number of node groups that comprise the Global Datastore.  
*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)

`GlobalReplicationGroupDescription`  <a name="cfn-elasticache-globalreplicationgroup-globalreplicationgroupdescription"></a>
The optional description of the Global datastore  
*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)

`GlobalReplicationGroupIdSuffix`  <a name="cfn-elasticache-globalreplicationgroup-globalreplicationgroupidsuffix"></a>
The suffix name of a Global Datastore. The suffix guarantees uniqueness of the Global Datastore name across multiple regions.  
*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)

`Members`  <a name="cfn-elasticache-globalreplicationgroup-members"></a>
The replication groups that comprise the Global datastore.  
*Required*: Yes  
*Type*: Array of [GlobalReplicationGroupMember](aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.md)  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RegionalConfigurations`  <a name="cfn-elasticache-globalreplicationgroup-regionalconfigurations"></a>
The Regions that comprise the Global Datastore.  
*Required*: No  
*Type*: Array of [RegionalConfiguration](aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.md)  
*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-elasticache-globalreplicationgroup-return-values"></a>

### Ref
<a name="aws-resource-elasticache-globalreplicationgroup-return-values-ref"></a>

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

#### 
<a name="aws-resource-elasticache-globalreplicationgroup-return-values-fn--getatt-fn--getatt"></a>

`GlobalReplicationGroupId`  <a name="GlobalReplicationGroupId-fn::getatt"></a>
The ID used to associate a secondary cluster to the Global Replication Group.

`Status`  <a name="Status-fn::getatt"></a>
The status of the Global Datastore. Can be `Creating`, `Modifying`, `Available`, `Deleting` or `Primary-Only`. Primary-only status indicates the global datastore contains only a primary cluster. Either all secondary clusters are deleted or not successfully created.

# AWS::ElastiCache::GlobalReplicationGroup GlobalReplicationGroupMember
<a name="aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember"></a>

A member of a Global datastore. It contains the Replication Group Id, the Amazon region and the role of the replication group. 

## Syntax
<a name="aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember-syntax"></a>

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

### JSON
<a name="aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember-syntax.json"></a>

```
{
  "[ReplicationGroupId](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupid)" : String,
  "[ReplicationGroupRegion](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupregion)" : String,
  "[Role](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-role)" : String
}
```

### YAML
<a name="aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember-syntax.yaml"></a>

```
  [ReplicationGroupId](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupid): String
  [ReplicationGroupRegion](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupregion): String
  [Role](#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-role): String
```

## Properties
<a name="aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember-properties"></a>

`ReplicationGroupId`  <a name="cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupid"></a>
The replication group id of the Global datastore member.  
*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)

`ReplicationGroupRegion`  <a name="cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupregion"></a>
The Amazon region of the Global datastore member.  
*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)

`Role`  <a name="cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-role"></a>
Indicates the role of the replication group, `PRIMARY` or `SECONDARY`.   
*Required*: No  
*Type*: String  
*Allowed values*: `PRIMARY | SECONDARY`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ElastiCache::GlobalReplicationGroup RegionalConfiguration
<a name="aws-properties-elasticache-globalreplicationgroup-regionalconfiguration"></a>

A list of the replication groups 

## Syntax
<a name="aws-properties-elasticache-globalreplicationgroup-regionalconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-elasticache-globalreplicationgroup-regionalconfiguration-syntax.json"></a>

```
{
  "[ReplicationGroupId](#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupid)" : String,
  "[ReplicationGroupRegion](#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupregion)" : String,
  "[ReshardingConfigurations](#cfn-elasticache-globalreplicationgroup-regionalconfiguration-reshardingconfigurations)" : [ ReshardingConfiguration, ... ]
}
```

### YAML
<a name="aws-properties-elasticache-globalreplicationgroup-regionalconfiguration-syntax.yaml"></a>

```
  [ReplicationGroupId](#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupid): String
  [ReplicationGroupRegion](#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupregion): String
  [ReshardingConfigurations](#cfn-elasticache-globalreplicationgroup-regionalconfiguration-reshardingconfigurations): 
    - ReshardingConfiguration
```

## Properties
<a name="aws-properties-elasticache-globalreplicationgroup-regionalconfiguration-properties"></a>

`ReplicationGroupId`  <a name="cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupid"></a>
The name of the secondary 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)

`ReplicationGroupRegion`  <a name="cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupregion"></a>
The Amazon region where the cluster is stored  
*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)

`ReshardingConfigurations`  <a name="cfn-elasticache-globalreplicationgroup-regionalconfiguration-reshardingconfigurations"></a>
A list of PreferredAvailabilityZones objects that specifies the configuration of a node group in the resharded cluster.  
*Required*: No  
*Type*: Array of [ReshardingConfiguration](aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ElastiCache::GlobalReplicationGroup ReshardingConfiguration
<a name="aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration"></a>

A list of `PreferredAvailabilityZones` objects that specifies the configuration of a node group in the resharded cluster.

## Syntax
<a name="aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration-syntax.json"></a>

```
{
  "[NodeGroupId](#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-nodegroupid)" : String,
  "[PreferredAvailabilityZones](#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-preferredavailabilityzones)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration-syntax.yaml"></a>

```
  [NodeGroupId](#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-nodegroupid): String
  [PreferredAvailabilityZones](#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-preferredavailabilityzones): 
    - String
```

## Properties
<a name="aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration-properties"></a>

`NodeGroupId`  <a name="cfn-elasticache-globalreplicationgroup-reshardingconfiguration-nodegroupid"></a>
Either the ElastiCache supplied 4-digit id or a user supplied id for the node group these configuration values apply to.  
*Required*: No  
*Type*: String  
*Pattern*: `\d+`  
*Minimum*: `1`  
*Maximum*: `4`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PreferredAvailabilityZones`  <a name="cfn-elasticache-globalreplicationgroup-reshardingconfiguration-preferredavailabilityzones"></a>
A list of preferred availability zones for the nodes in 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)