import { Value } from '../../../cloudformation/Value';
/**
  Describes an action to write to a DynamoDB table.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html">the AWS Docs</a>
*/
export interface DynamoDBActionProps {
    /** <code>TableName</code>  <a name="cfn-iot-topicrule-dynamodbaction-tablename"></a>
  The name of the 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-iot-topicrule-dynamodbaction-payloadfield"></a>
  The action payload. This name can be customized.<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-iot-topicrule-dynamodbaction-rangekeyfield"></a>
  The range key name.<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-iot-topicrule-dynamodbaction-hashkeyfield"></a>
  The hash key name.<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-iot-topicrule-dynamodbaction-rangekeyvalue"></a>
  The range key value.<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>;
    /** <code>RangeKeyType</code>  <a name="cfn-iot-topicrule-dynamodbaction-rangekeytype"></a>
  The range key type. Valid values are “STRING” or “NUMBER”<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> */
    rangeKeyType?: Value<string>;
    /** <code>HashKeyType</code>  <a name="cfn-iot-topicrule-dynamodbaction-hashkeytype"></a>
  The hash key type. Valid values are “STRING” or “NUMBER”<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> */
    hashKeyType?: Value<string>;
    /** <code>HashKeyValue</code>  <a name="cfn-iot-topicrule-dynamodbaction-hashkeyvalue"></a>
  The hash key value.<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>RoleArn</code>  <a name="cfn-iot-topicrule-dynamodbaction-rolearn"></a>
  The ARN of the IAM role that grants access to the 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> */
    roleArn: Value<string>;
}
