import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LambdaConflictHandlerConfig { LambdaConflictHandlerArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PipelineConfig { Functions ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SyncConfig { ConflictHandler ? : Value < string > ; ConflictDetection ! : Value < string > ; LambdaConflictHandlerConfig ? : LambdaConflictHandlerConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CachingConfig { CachingKeys ? : List < Value < string > > ; Ttl ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ResolverProperties { ResponseMappingTemplateS3Location ? : Value < string > ; TypeName : Value < string > ; PipelineConfig ? : PipelineConfig ; DataSourceName ? : Value < string > ; RequestMappingTemplate ? : Value < string > ; ResponseMappingTemplate ? : Value < string > ; Kind ? : Value < string > ; CachingConfig ? : CachingConfig ; SyncConfig ? : SyncConfig ; RequestMappingTemplateS3Location ? : Value < string > ; ApiId : Value < string > ; FieldName : Value < string > ; } export default class Resolver extends ResourceBase < ResolverProperties > { static LambdaConflictHandlerConfig = LambdaConflictHandlerConfig ; static PipelineConfig = PipelineConfig ; static SyncConfig = SyncConfig ; static CachingConfig = CachingConfig ; constructor ( properties ) { super ( 'AWS::AppSync::Resolver' , properties ) ; } }