import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class CSVMappingParameters { RecordRowDelimiter ! : Value < string > ; RecordColumnDelimiter ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Input { NamePrefix ! : Value < string > ; InputSchema ! : InputSchema ; KinesisStreamsInput ? : KinesisStreamsInput ; KinesisFirehoseInput ? : KinesisFirehoseInput ; InputProcessingConfiguration ? : InputProcessingConfiguration ; InputParallelism ? : InputParallelism ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class JSONMappingParameters { RecordRowPath ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KinesisStreamsInput { ResourceARN ! : Value < string > ; RoleARN ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RecordColumn { Mapping ? : Value < string > ; SqlType ! : Value < string > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KinesisFirehoseInput { ResourceARN ! : Value < string > ; RoleARN ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputParallelism { Count ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputSchema { RecordEncoding ? : Value < string > ; RecordColumns ! : List < RecordColumn > ; RecordFormat ! : RecordFormat ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MappingParameters { JSONMappingParameters ? : JSONMappingParameters ; CSVMappingParameters ? : CSVMappingParameters ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RecordFormat { MappingParameters ? : MappingParameters ; RecordFormatType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputProcessingConfiguration { InputLambdaProcessor ? : InputLambdaProcessor ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputLambdaProcessor { ResourceARN ! : Value < string > ; RoleARN ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ApplicationProperties { ApplicationName ? : Value < string > ; Inputs : List < Input > ; ApplicationDescription ? : Value < string > ; ApplicationCode ? : Value < string > ; } export default class Application extends ResourceBase < ApplicationProperties > { static CSVMappingParameters = CSVMappingParameters ; static Input = Input ; static JSONMappingParameters = JSONMappingParameters ; static KinesisStreamsInput = KinesisStreamsInput ; static RecordColumn = RecordColumn ; static KinesisFirehoseInput = KinesisFirehoseInput ; static InputParallelism = InputParallelism ; static InputSchema = InputSchema ; static MappingParameters = MappingParameters ; static RecordFormat = RecordFormat ; static InputProcessingConfiguration = InputProcessingConfiguration ; static InputLambdaProcessor = InputLambdaProcessor ; constructor ( properties ) { super ( 'AWS::KinesisAnalytics::Application' , properties ) ; } }