import { Value } from '../../../cloudformation/Value';
/**
  An attribute used in partitioning data in a table. A dimension key partitions data using the values of the dimension specified by the dimension-name as partition key, while a measure key partitions data using measure names (values of the ‘measure_name’ column).
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html">the AWS Docs</a>
*/
export interface PartitionKeyProps {
    /** <code>Type</code>  <a name="cfn-timestream-table-partitionkey-type"></a>
  The type of the partition key. Options are DIMENSION (dimension key) and MEASURE (measure key).<br />
  
  Required: Yes<br />
  
  Allowed values: <code>DIMENSION | MEASURE</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> */
    type: Value<'DIMENSION' | 'MEASURE'>;
    /** <code>EnforcementInRecord</code>  <a name="cfn-timestream-table-partitionkey-enforcementinrecord"></a>
  The level of enforcement for the specification of a dimension key in ingested records. Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).<br />
  
  Required: No<br />
  
  Allowed values: <code>OPTIONAL | REQUIRED</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> */
    enforcementInRecord?: Value<'OPTIONAL' | 'REQUIRED'>;
    /** <code>Name</code>  <a name="cfn-timestream-table-partitionkey-name"></a>
  The name of the attribute used for a dimension key.<br />
  
  Required: No<br />
  
  Minimum: <code>1</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> */
    name?: Value<string>;
}
