import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class JobCommand { PythonVersion ? : Value < string > ; ScriptLocation ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ConnectionsList { Connections ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class NotificationProperty { NotifyDelayAfter ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ExecutionProperty { MaxConcurrentRuns ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface JobProperties { Connections ? : ConnectionsList ; MaxRetries ? : Value < number > ; Description ? : Value < string > ; Timeout ? : Value < number > ; AllocatedCapacity ? : Value < number > ; Name ? : Value < string > ; Role : Value < string > ; DefaultArguments ? : { [ key ] : any ; } ; NotificationProperty ? : NotificationProperty ; WorkerType ? : Value < string > ; LogUri ? : Value < string > ; Command : JobCommand ; GlueVersion ? : Value < string > ; ExecutionProperty ? : ExecutionProperty ; SecurityConfiguration ? : Value < string > ; NumberOfWorkers ? : Value < number > ; Tags ? : { [ key ] : any ; } ; MaxCapacity ? : Value < number > ; } export default class Job extends ResourceBase < JobProperties > { static JobCommand = JobCommand ; static ConnectionsList = ConnectionsList ; static NotificationProperty = NotificationProperty ; static ExecutionProperty = ExecutionProperty ; constructor ( properties ) { super ( 'AWS::Glue::Job' , properties ) ; } }