import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { EndpointProps } from './cluster/EndpointProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ClusterAttributes = {
    Status: Attribute<string>;
    ClusterEndpoint_Address: Attribute<string>;
    ClusterEndpoint_Port: Attribute<number>;
    ParameterGroupStatus: Attribute<string>;
    ARN: Attribute<string>;
};
export type Cluster = AwsResource<'AWS::MemoryDB::Cluster', ClusterProperties, ClusterAttributes>;
/**
  Specifies a cluster. All nodes in the cluster run the same protocol-compliant engine software.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html">the AWS Docs</a>
*/
export declare function cluster(clusterProps: ClusterProperties): Cluster;
/**
  Specifies a cluster. All nodes in the cluster run the same protocol-compliant engine software.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html">the AWS Docs</a>
*/
export interface ClusterProperties {
    /** <code>NumReplicasPerShard</code>  <a name="cfn-memorydb-cluster-numreplicaspershard"></a>
  The number of replicas to apply to each shard.<br />
  
  Default value: <code>1</code><br />
  
  Maximum value: <code>5</code><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> */
    numReplicasPerShard?: Value<number>;
    /** <code>Description</code>  <a name="cfn-memorydb-cluster-description"></a>
  A description of the cluster.<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> */
    description?: Value<string>;
    /** <code>FinalSnapshotName</code>  <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.<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> */
    finalSnapshotName?: Value<string>;
    /** <code>ParameterGroupName</code>  <a name="cfn-memorydb-cluster-parametergroupname"></a>
  The name of the parameter group used by the cluster.<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> */
    parameterGroupName?: Value<string>;
    /** <code>SnapshotArns</code>  <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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    snapshotArns?: Value<Value<string>[]>;
    /** <code>Port</code>  <a name="cfn-memorydb-cluster-port"></a>
  The port used by the cluster.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    port?: Value<number>;
    /** <code>ACLName</code>  <a name="cfn-memorydb-cluster-aclname"></a>
  The name of the Access Control List to associate with the cluster.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Pattern: <code>[a-zA-Z][a-zA-Z0-9\-]*</code><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> */
    aCLName: Value<string>;
    /** <code>SnapshotName</code>  <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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    snapshotName?: Value<string>;
    /** <code>NumShards</code>  <a name="cfn-memorydb-cluster-numshards"></a>
  The number of shards in the cluster.<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> */
    numShards?: Value<number>;
    /** <code>TLSEnabled</code>  <a name="cfn-memorydb-cluster-tlsenabled"></a>
  A flag to indicate if In-transit encryption is enabled.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    tLSEnabled?: Value<boolean>;
    /** <code>ClusterName</code>  <a name="cfn-memorydb-cluster-clustername"></a>
  The name of the cluster.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    clusterName: Value<string>;
    /** <code>SnsTopicArn</code>  <a name="cfn-memorydb-cluster-snstopicarn"></a>
  When you pass the logical ID of this resource to the intrinsic <code>Ref</code> function, Ref returns the ARN of the SNS topic, such as <code>arn:aws:memorydb:us-east-1:123456789012:mySNSTopic</code><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> */
    snsTopicArn?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-memorydb-cluster-tags"></a>
  An array of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a>.<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> */
    tags?: Tag[];
    /** <code>EngineVersion</code>  <a name="cfn-memorydb-cluster-engineversion"></a>
  The Redis engine version used by the cluster.<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>KmsKeyId</code>  <a name="cfn-memorydb-cluster-kmskeyid"></a>
  The ID of the KMS key used to encrypt the cluster.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    kmsKeyId?: Value<string>;
    /** <code>SnsTopicStatus</code>  <a name="cfn-memorydb-cluster-snstopicstatus"></a>
  The SNS topic must be in Active status to receive notifications.<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> */
    snsTopicStatus?: Value<string>;
    /** <code>SubnetGroupName</code>  <a name="cfn-memorydb-cluster-subnetgroupname"></a>
  The name of the subnet group used by the cluster.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    subnetGroupName?: Value<string>;
    /** <code>AutoMinorVersionUpgrade</code>  <a name="cfn-memorydb-cluster-autominorversionupgrade"></a>
  When set to true, the cluster will automatically receive minor engine version upgrades after launch.<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> */
    autoMinorVersionUpgrade?: Value<boolean>;
    /** <code>SecurityGroupIds</code>  <a name="cfn-memorydb-cluster-securitygroupids"></a>
  A list of security group names to associate with this cluster.<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> */
    securityGroupIds?: Value<Value<string>[]>;
    /** <code>ClusterEndpoint</code>  <a name="cfn-memorydb-cluster-clusterendpoint"></a>
  The cluster’s configuration endpoint.<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> */
    clusterEndpoint?: EndpointProps;
    /** <code>SnapshotWindow</code>  <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.<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> */
    snapshotWindow?: Value<string>;
    /** <code>SnapshotRetentionLimit</code>  <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.<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> */
    snapshotRetentionLimit?: Value<number>;
    /** <code>DataTiering</code>  <a name="cfn-memorydb-cluster-datatiering"></a>
  Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see <a href="https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html">Data tiering</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    dataTiering?: Value<string>;
    /** <code>NodeType</code>  <a name="cfn-memorydb-cluster-nodetype"></a>
  The cluster’s node type.<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> */
    nodeType: Value<string>;
    /** <code>MaintenanceWindow</code>  <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 <code>ddd:hh24:mi-ddd:hh24:mi</code> (24H Clock UTC). The minimum maintenance window is a 60 minute period.<br />
  
  Pattern: <code>ddd:hh24:mi-ddd:hh24:mi</code><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> */
    maintenanceWindow?: Value<string>;
}
