import { Value } from '../../../cloudformation/Value';
import { InputSchemaProps } from './InputSchemaProps';
import { KinesisStreamsInputProps } from './KinesisStreamsInputProps';
import { KinesisFirehoseInputProps } from './KinesisFirehoseInputProps';
import { InputProcessingConfigurationProps } from './InputProcessingConfigurationProps';
import { InputParallelismProps } from './InputParallelismProps';
/**
  When you configure the application input for a SQL-based Managed Service for Apache Flink application, you specify the streaming source, the in-application stream name that is created, and the mapping between the two.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html">the AWS Docs</a>
*/
export interface InputProps {
    /** <code>NamePrefix</code>  <a name="cfn-kinesisanalyticsv2-application-input-nameprefix"></a>
  The name prefix to use when creating an in-application stream. Suppose that you specify a prefix “<code>MyInApplicationStream</code>.” Managed Service for Apache Flink then creates one or more (as per the <code>InputParallelism</code> count you specified) in-application streams with the names “<code>MyInApplicationStream_001</code>,” “<code>MyInApplicationStream_002</code>,” and so on.<br />
  
  Required: Yes<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-no-interrupt">No interruption</a> */
    namePrefix: Value<string>;
    /** <code>InputSchema</code>  <a name="cfn-kinesisanalyticsv2-application-input-inputschema"></a>
  Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.<br />
  Also used to describe the format of the reference data source.<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> */
    inputSchema: InputSchemaProps;
    /** <code>KinesisStreamsInput</code>  <a name="cfn-kinesisanalyticsv2-application-input-kinesisstreamsinput"></a>
  If the streaming source is an Amazon Kinesis data stream, identifies the stream’s Amazon Resource Name (ARN).<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> */
    kinesisStreamsInput?: KinesisStreamsInputProps;
    /** <code>KinesisFirehoseInput</code>  <a name="cfn-kinesisanalyticsv2-application-input-kinesisfirehoseinput"></a>
  If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream’s ARN.<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> */
    kinesisFirehoseInput?: KinesisFirehoseInputProps;
    /** <code>InputProcessingConfiguration</code>  <a name="cfn-kinesisanalyticsv2-application-input-inputprocessingconfiguration"></a>
  The <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a> for the input. An input processor transforms records as they are received from the stream, before the application’s SQL code executes. Currently, the only input processing configuration available is <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_InputLambdaProcessor.html">InputLambdaProcessor</a>.<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> */
    inputProcessingConfiguration?: InputProcessingConfigurationProps;
    /** <code>InputParallelism</code>  <a name="cfn-kinesisanalyticsv2-application-input-inputparallelism"></a>
  Describes the number of in-application streams to create.<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> */
    inputParallelism?: InputParallelismProps;
}
