import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class WorkGroupConfigurationUpdates { BytesScannedCutoffPerQuery ? : Value < number > ; EnforceWorkGroupConfiguration ? : Value < boolean > ; PublishCloudWatchMetricsEnabled ? : Value < boolean > ; RequesterPaysEnabled ? : Value < boolean > ; ResultConfigurationUpdates ? : ResultConfigurationUpdates ; RemoveBytesScannedCutoffPerQuery ? : Value < boolean > ; EngineVersion ? : EngineVersion ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResultConfiguration { EncryptionConfiguration ? : EncryptionConfiguration ; OutputLocation ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResultConfigurationUpdates { EncryptionConfiguration ? : EncryptionConfiguration ; OutputLocation ? : Value < string > ; RemoveEncryptionConfiguration ? : Value < boolean > ; RemoveOutputLocation ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class WorkGroupConfiguration { BytesScannedCutoffPerQuery ? : Value < number > ; EnforceWorkGroupConfiguration ? : Value < boolean > ; PublishCloudWatchMetricsEnabled ? : Value < boolean > ; RequesterPaysEnabled ? : Value < boolean > ; ResultConfiguration ? : ResultConfiguration ; EngineVersion ? : EngineVersion ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EncryptionConfiguration { EncryptionOption ! : Value < string > ; KmsKey ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EngineVersion { SelectedEngineVersion ? : Value < string > ; EffectiveEngineVersion ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface WorkGroupProperties { Name : Value < string > ; Description ? : Value < string > ; Tags ? : List < ResourceTag > ; WorkGroupConfiguration ? : WorkGroupConfiguration ; WorkGroupConfigurationUpdates ? : WorkGroupConfigurationUpdates ; State ? : Value < string > ; RecursiveDeleteOption ? : Value < boolean > ; } export default class WorkGroup extends ResourceBase < WorkGroupProperties > { static WorkGroupConfigurationUpdates = WorkGroupConfigurationUpdates ; static ResultConfiguration = ResultConfiguration ; static ResultConfigurationUpdates = ResultConfigurationUpdates ; static WorkGroupConfiguration = WorkGroupConfiguration ; static EncryptionConfiguration = EncryptionConfiguration ; static EngineVersion = EngineVersion ; constructor ( properties ) { super ( 'AWS::Athena::WorkGroup' , properties ) ; } }