import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class S3Location { Bucket ! : Value < string > ; Key ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OutputFormatOptions { Csv ? : CsvOutputOptions ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CsvOutputOptions { Delimiter ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Recipe { Name ! : Value < string > ; Version ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Output { CompressionFormat ? : Value < string > ; Format ? : Value < string > ; FormatOptions ? : OutputFormatOptions ; PartitionColumns ? : List < Value < string > > ; Location ! : S3Location ; Overwrite ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OutputLocation { Bucket ! : Value < string > ; Key ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class JobSample { Mode ? : Value < string > ; Size ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface JobProperties { DatasetName ? : Value < string > ; EncryptionKeyArn ? : Value < string > ; EncryptionMode ? : Value < string > ; Name : Value < string > ; Type : Value < string > ; LogSubscription ? : Value < string > ; MaxCapacity ? : Value < number > ; MaxRetries ? : Value < number > ; Outputs ? : List < Output > ; OutputLocation ? : OutputLocation ; ProjectName ? : Value < string > ; Recipe ? : Recipe ; RoleArn : Value < string > ; Tags ? : List < ResourceTag > ; Timeout ? : Value < number > ; JobSample ? : JobSample ; } export default class Job extends ResourceBase < JobProperties > { static S3Location = S3Location ; static OutputFormatOptions = OutputFormatOptions ; static CsvOutputOptions = CsvOutputOptions ; static Recipe = Recipe ; static Output = Output ; static OutputLocation = OutputLocation ; static JobSample = JobSample ; constructor ( properties ) { super ( 'AWS::DataBrew::Job' , properties ) ; } }