import { IotEventsProps } from './IotEventsProps';
import { FirehoseProps } from './FirehoseProps';
import { DynamoDBProps } from './DynamoDBProps';
import { IotTopicPublishProps } from './IotTopicPublishProps';
import { DynamoDBv2Props } from './DynamoDBv2Props';
import { IotSiteWiseProps } from './IotSiteWiseProps';
import { ResetTimerProps } from './ResetTimerProps';
import { SqsProps } from './SqsProps';
import { SetTimerProps } from './SetTimerProps';
import { SnsProps } from './SnsProps';
import { ClearTimerProps } from './ClearTimerProps';
import { LambdaProps } from './LambdaProps';
import { SetVariableProps } from './SetVariableProps';
/**
  An action to be performed when the <code>condition</code> is TRUE.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html">the AWS Docs</a>
*/
export interface ActionProps {
    /** <code>IotEvents</code>  <a name="cfn-iotevents-detectormodel-action-iotevents"></a>
  Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.<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> */
    iotEvents?: IotEventsProps;
    /** <code>Firehose</code>  <a name="cfn-iotevents-detectormodel-action-firehose"></a>
  Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.<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> */
    firehose?: FirehoseProps;
    /** <code>DynamoDB</code>  <a name="cfn-iotevents-detectormodel-action-dynamodb"></a>
  Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have 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 more information, see <a href="https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html">Actions</a> in * AWS IoT Events Developer Guide*.<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> */
    dynamoDB?: DynamoDBProps;
    /** <code>IotTopicPublish</code>  <a name="cfn-iotevents-detectormodel-action-iottopicpublish"></a>
  Publishes an MQTT message with the given topic to the AWS IoT message broker.<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> */
    iotTopicPublish?: IotTopicPublishProps;
    /** <code>DynamoDBv2</code>  <a name="cfn-iotevents-detectormodel-action-dynamodbv2"></a>
  Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have 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>. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see <a href="https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html">Actions</a> in * AWS IoT Events Developer Guide*.<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> */
    dynamoDBv2?: DynamoDBv2Props;
    /** <code>IotSiteWise</code>  <a name="cfn-iotevents-detectormodel-action-iotsitewise"></a>
  Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .<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> */
    iotSiteWise?: IotSiteWiseProps;
    /** <code>ResetTimer</code>  <a name="cfn-iotevents-detectormodel-action-resettimer"></a>
  Information needed to reset the timer.<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> */
    resetTimer?: ResetTimerProps;
    /** <code>Sqs</code>  <a name="cfn-iotevents-detectormodel-action-sqs"></a>
  Sends an Amazon SNS message.<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> */
    sqs?: SqsProps;
    /** <code>SetTimer</code>  <a name="cfn-iotevents-detectormodel-action-settimer"></a>
  Information needed to set the timer.<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> */
    setTimer?: SetTimerProps;
    /** <code>Sns</code>  <a name="cfn-iotevents-detectormodel-action-sns"></a>
  Sends an Amazon SNS message.<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> */
    sns?: SnsProps;
    /** <code>ClearTimer</code>  <a name="cfn-iotevents-detectormodel-action-cleartimer"></a>
  Information needed to clear the timer.<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> */
    clearTimer?: ClearTimerProps;
    /** <code>Lambda</code>  <a name="cfn-iotevents-detectormodel-action-lambda"></a>
  Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.<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> */
    lambda?: LambdaProps;
    /** <code>SetVariable</code>  <a name="cfn-iotevents-detectormodel-action-setvariable"></a>
  Sets a variable to a specified 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> */
    setVariable?: SetVariableProps;
}
