import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class CatalogTarget { DatabaseName ? : Value < string > ; Tables ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Schedule { ScheduleExpression ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SchemaChangePolicy { UpdateBehavior ? : Value < string > ; DeleteBehavior ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Targets { S3Targets ? : List < S3Target > ; CatalogTargets ? : List < CatalogTarget > ; JdbcTargets ? : List < JdbcTarget > ; DynamoDBTargets ? : List < DynamoDBTarget > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class JdbcTarget { ConnectionName ? : Value < string > ; Path ? : Value < string > ; Exclusions ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DynamoDBTarget { Path ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3Target { ConnectionName ? : Value < string > ; Path ? : Value < string > ; Exclusions ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface CrawlerProperties { Role : Value < string > ; Classifiers ? : List < Value < string > > ; Description ? : Value < string > ; SchemaChangePolicy ? : SchemaChangePolicy ; Configuration ? : Value < string > ; Schedule ? : Schedule ; DatabaseName ? : Value < string > ; Targets : Targets ; CrawlerSecurityConfiguration ? : Value < string > ; TablePrefix ? : Value < string > ; Tags ? : { [ key ] : any ; } ; Name ? : Value < string > ; } export default class Crawler extends ResourceBase < CrawlerProperties > { static CatalogTarget = CatalogTarget ; static Schedule = Schedule ; static SchemaChangePolicy = SchemaChangePolicy ; static Targets = Targets ; static JdbcTarget = JdbcTarget ; static DynamoDBTarget = DynamoDBTarget ; static S3Target = S3Target ; constructor ( properties ) { super ( 'AWS::Glue::Crawler' , properties ) ; } }