import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class Condition { CrawlerName ? : Value < string > ; State ? : Value < string > ; CrawlState ? : Value < string > ; LogicalOperator ? : Value < string > ; JobName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Predicate { Logical ? : Value < string > ; Conditions ? : List < Condition > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Action { NotificationProperty ? : NotificationProperty ; CrawlerName ? : Value < string > ; Timeout ? : Value < number > ; JobName ? : Value < string > ; Arguments ? : { [ key ] : any ; } ; SecurityConfiguration ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class NotificationProperty { NotifyDelayAfter ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface TriggerProperties { Type : Value < string > ; StartOnCreation ? : Value < boolean > ; Description ? : Value < string > ; Actions : List < Action > ; WorkflowName ? : Value < string > ; Schedule ? : Value < string > ; Tags ? : { [ key ] : any ; } ; Name ? : Value < string > ; Predicate ? : Predicate ; } export default class Trigger extends ResourceBase < TriggerProperties > { static Condition = Condition ; static Predicate = Predicate ; static Action = Action ; static NotificationProperty = NotificationProperty ; constructor ( properties ) { super ( 'AWS::Glue::Trigger' , properties ) ; } }