def discover_input_schema(ResourceARN=None, RoleARN=None,
    InputStartingPositionConfiguration=None):
    """
    Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream). In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.
    You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input . Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface.
    This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action.
    See also: AWS API Documentation
    
    
    :example: response = client.discover_input_schema(
        ResourceARN='string',
        RoleARN='string',
        InputStartingPositionConfiguration={
            'InputStartingPosition': 'NOW'|'TRIM_HORIZON'|'LAST_STOPPED_POINT'
        }
    )
    
    
    :type ResourceARN: string
    :param ResourceARN: [REQUIRED]
            Amazon Resource Name (ARN) of the streaming source.
            

    :type RoleARN: string
    :param RoleARN: [REQUIRED]
            ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf.
            

    :type InputStartingPositionConfiguration: dict
    :param InputStartingPositionConfiguration: [REQUIRED]
            Point at which you want Amazon Kinesis Analytics to start reading records from the specified streaming source discovery purposes.
            InputStartingPosition (string) --The starting position on the stream.
            LATEST - Start reading just after the most recent record in the stream.
            TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.
            LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.
            

    :rtype: dict
    :return: {
        'InputSchema': {
            'RecordFormat': {
                'RecordFormatType': 'JSON'|'CSV',
                'MappingParameters': {
                    'JSONMappingParameters': {
                        'RecordRowPath': 'string'
                    },
                    'CSVMappingParameters': {
                        'RecordRowDelimiter': 'string',
                        'RecordColumnDelimiter': 'string'
                    }
                }
            },
            'RecordEncoding': 'string',
            'RecordColumns': [
                {
                    'Name': 'string',
                    'Mapping': 'string',
                    'SqlType': 'string'
                },
            ]
        },
        'ParsedInputRecords': [
            [
                'string',
            ],
        ],
        'RawInputRecords': [
            'string',
        ]
    }
    
    
    :returns: 
    (list) --
    (string) --
    
    
    
    """
    pass
