import { Value } from '../../../cloudformation/Value';
/**
  Describes an action to publish to an Amazon SNS topic.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html">the AWS Docs</a>
*/
export interface SnsActionProps {
    /** <code>MessageFormat</code>  <a name="cfn-iot-topicrule-snsaction-messageformat"></a>
  (Optional) The message format of the message to publish. Accepted values are “JSON” and “RAW”. The default value of the attribute is “RAW”. SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. For more information, see <a href="https://docs.aws.amazon.com/sns/latest/dg/json-formats.html">Amazon SNS Message and JSON Formats</a> in the
  Amazon Simple Notification Service 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> */
    messageFormat?: Value<string>;
    /** <code>TargetArn</code>  <a name="cfn-iot-topicrule-snsaction-targetarn"></a>
  The ARN of the SNS topic.<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> */
    targetArn: Value<string>;
    /** <code>RoleArn</code>  <a name="cfn-iot-topicrule-snsaction-rolearn"></a>
  The ARN of the IAM role that grants access.<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>;
}
