import { Value } from '../../cloudformation/Value';
import { RegionalConfigurationProps } from './globalreplicationgroup/RegionalConfigurationProps';
import { GlobalReplicationGroupMemberProps } from './globalreplicationgroup/GlobalReplicationGroupMemberProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type GlobalReplicationGroupAttributes = {
    Status: Attribute<string>;
    GlobalReplicationGroupId: Attribute<string>;
};
export type GlobalReplicationGroup = AwsResource<'AWS::ElastiCache::GlobalReplicationGroup', GlobalReplicationGroupProperties, GlobalReplicationGroupAttributes>;
/**
  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.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html">the AWS Docs</a>
*/
export declare function globalReplicationGroup(globalReplicationGroupProps: GlobalReplicationGroupProperties): GlobalReplicationGroup;
/**
  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.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html">the AWS Docs</a>
*/
export interface GlobalReplicationGroupProperties {
    /** <code>GlobalReplicationGroupIdSuffix</code>  <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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    globalReplicationGroupIdSuffix?: Value<string>;
    /** <code>CacheNodeType</code>  <a name="cfn-elasticache-globalreplicationgroup-cachenodetype"></a>
  The cache node type of the Global datastore<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    cacheNodeType?: Value<string>;
    /** <code>EngineVersion</code>  <a name="cfn-elasticache-globalreplicationgroup-engineversion"></a>
  The Elasticache Redis engine version.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    engineVersion?: Value<string>;
    /** <code>GlobalReplicationGroupDescription</code>  <a name="cfn-elasticache-globalreplicationgroup-globalreplicationgroupdescription"></a>
  The optional description of the Global datastore<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    globalReplicationGroupDescription?: Value<string>;
    /** <code>RegionalConfigurations</code>  <a name="cfn-elasticache-globalreplicationgroup-regionalconfigurations"></a>
  The Regions that comprise the Global Datastore.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    regionalConfigurations?: RegionalConfigurationProps[];
    /** <code>CacheParameterGroupName</code>  <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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    cacheParameterGroupName?: Value<string>;
    /** <code>Members</code>  <a name="cfn-elasticache-globalreplicationgroup-members"></a>
  The replication groups that comprise the Global datastore.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    members: GlobalReplicationGroupMemberProps[];
    /** <code>AutomaticFailoverEnabled</code>  <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.<br />
  <code>AutomaticFailoverEnabled</code> must be enabled for Redis (cluster mode enabled) replication groups.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    automaticFailoverEnabled?: Value<boolean>;
    /** <code>GlobalNodeGroupCount</code>  <a name="cfn-elasticache-globalreplicationgroup-globalnodegroupcount"></a>
  The number of node groups that comprise the Global Datastore.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    globalNodeGroupCount?: Value<number>;
}
