import { DestinationSchemaProps } from './DestinationSchemaProps';
import { LambdaOutputProps } from './LambdaOutputProps';
import { KinesisFirehoseOutputProps } from './KinesisFirehoseOutputProps';
import { KinesisStreamsOutputProps } from './KinesisStreamsOutputProps';
import { Value } from '../../../cloudformation/Value';
/**
  Describes a SQL-based Managed Service for Apache Flink application’s output configuration, in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be a Kinesis data stream or a Kinesis Data Firehose delivery stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html">the AWS Docs</a>
*/
export interface OutputProps {
    /** <code>DestinationSchema</code>  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-destinationschema"></a>
  Describes the data format when records are written to the destination.<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> */
    destinationSchema: DestinationSchemaProps;
    /** <code>LambdaOutput</code>  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-lambdaoutput"></a>
  Identifies an Amazon Lambda function as the destination.<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> */
    lambdaOutput?: LambdaOutputProps;
    /** <code>KinesisFirehoseOutput</code>  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-kinesisfirehoseoutput"></a>
  Identifies a Kinesis Data Firehose delivery stream as the destination.<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> */
    kinesisFirehoseOutput?: KinesisFirehoseOutputProps;
    /** <code>KinesisStreamsOutput</code>  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-kinesisstreamsoutput"></a>
  Identifies a Kinesis data stream as the destination.<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> */
    kinesisStreamsOutput?: KinesisStreamsOutputProps;
    /** <code>Name</code>  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-name"></a>
  The name of the in-application stream.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>32</code><br />
  
  Pattern: <code>[^-\s&lt;&gt;&amp;]*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name?: Value<string>;
}
