import { Value } from '../../../cloudformation/Value';
import { PayloadProps } from './PayloadProps';
/**
  Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the <a href="https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html">payload</a>. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-alarmmodel-dynamodb.html">the AWS Docs</a>
*/
export interface DynamoDBProps {
    /** <code>TableName</code>  <a name="cfn-iotevents-alarmmodel-dynamodb-tablename"></a>
  The name of the DynamoDB table. The <code>tableName</code> value must match the table name of the target DynamoDB table.<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> */
    tableName: Value<string>;
    /** <code>PayloadField</code>  <a name="cfn-iotevents-alarmmodel-dynamodb-payloadfield"></a>
  The name of the DynamoDB column that receives the action payload.<br />
  If you don’t specify this parameter, the name of the DynamoDB column is <code>payload</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> */
    payloadField?: Value<string>;
    /** <code>RangeKeyField</code>  <a name="cfn-iotevents-alarmmodel-dynamodb-rangekeyfield"></a>
  The name of the range key (also called the sort key). The <code>rangeKeyField</code> value must match the sort key of the target DynamoDB table.<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> */
    rangeKeyField?: Value<string>;
    /** <code>HashKeyField</code>  <a name="cfn-iotevents-alarmmodel-dynamodb-hashkeyfield"></a>
  The name of the hash key (also called the partition key). The <code>hashKeyField</code> value must match the partition key of the target DynamoDB table.<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> */
    hashKeyField: Value<string>;
    /** <code>RangeKeyValue</code>  <a name="cfn-iotevents-alarmmodel-dynamodb-rangekeyvalue"></a>
  The value of the range key (also called the sort key).<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> */
    rangeKeyValue?: Value<string>;
    /** <p> */
    rangeKeyType?: Value<string>;
    /** <p> */
    hashKeyType?: Value<string>;
    /** <code>HashKeyValue</code>  <a name="cfn-iotevents-alarmmodel-dynamodb-hashkeyvalue"></a>
  The value of the hash key (also called the partition key).<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> */
    hashKeyValue: Value<string>;
    /** <code>Payload</code>  <a name="cfn-iotevents-alarmmodel-dynamodb-payload"></a>
  Information needed to configure the payload.<br />
  By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use <code>contentExpression</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> */
    payload?: PayloadProps;
    /** <p> */
    operation?: Value<string>;
}
