import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class RecordFormat { MappingParameters ? : MappingParameters ; RecordFormatType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CSVMappingParameters { RecordRowDelimiter ! : Value < string > ; RecordColumnDelimiter ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3ReferenceDataSource { BucketARN ! : Value < string > ; FileKey ! : Value < string > ; ReferenceRoleARN ! : 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 ReferenceSchema { 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 JSONMappingParameters { RecordRowPath ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ReferenceDataSource { ReferenceSchema ! : ReferenceSchema ; TableName ? : Value < string > ; S3ReferenceDataSource ? : S3ReferenceDataSource ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ApplicationReferenceDataSourceProperties { ApplicationName : Value < string > ; ReferenceDataSource : ReferenceDataSource ; } export default class ApplicationReferenceDataSource extends ResourceBase < ApplicationReferenceDataSourceProperties > { static RecordFormat = RecordFormat ; static CSVMappingParameters = CSVMappingParameters ; static S3ReferenceDataSource = S3ReferenceDataSource ; static RecordColumn = RecordColumn ; static ReferenceSchema = ReferenceSchema ; static MappingParameters = MappingParameters ; static JSONMappingParameters = JSONMappingParameters ; static ReferenceDataSource = ReferenceDataSource ; constructor ( properties ) { super ( 'AWS::KinesisAnalytics::ApplicationReferenceDataSource' , properties ) ; } }