import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LoggingInfo { S3Bucket ! : Value < string > ; Region ! : Value < string > ; S3Prefix ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Target { Values ! : List < Value < string > > ; Key ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class NotificationConfig { NotificationArn ! : Value < string > ; NotificationType ? : Value < string > ; NotificationEvents ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MaintenanceWindowAutomationParameters { Parameters ? : { [ key ] : any ; } ; DocumentVersion ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TaskInvocationParameters { MaintenanceWindowRunCommandParameters ? : MaintenanceWindowRunCommandParameters ; MaintenanceWindowAutomationParameters ? : MaintenanceWindowAutomationParameters ; MaintenanceWindowStepFunctionsParameters ? : MaintenanceWindowStepFunctionsParameters ; MaintenanceWindowLambdaParameters ? : MaintenanceWindowLambdaParameters ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MaintenanceWindowStepFunctionsParameters { Input ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MaintenanceWindowRunCommandParameters { TimeoutSeconds ? : Value < number > ; Comment ? : Value < string > ; OutputS3KeyPrefix ? : Value < string > ; Parameters ? : { [ key ] : any ; } ; DocumentHashType ? : Value < string > ; ServiceRoleArn ? : Value < string > ; NotificationConfig ? : NotificationConfig ; OutputS3BucketName ? : Value < string > ; DocumentHash ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MaintenanceWindowLambdaParameters { ClientContext ? : Value < string > ; Qualifier ? : Value < string > ; Payload ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface MaintenanceWindowTaskProperties { MaxErrors ? : Value < string > ; Description ? : Value < string > ; ServiceRoleArn ? : Value < string > ; Priority : Value < number > ; MaxConcurrency ? : Value < string > ; Targets ? : List < Target > ; Name ? : Value < string > ; TaskArn : Value < string > ; TaskInvocationParameters ? : TaskInvocationParameters ; WindowId : Value < string > ; TaskParameters ? : { [ key ] : any ; } ; TaskType : Value < string > ; LoggingInfo ? : LoggingInfo ; } export default class MaintenanceWindowTask extends ResourceBase < MaintenanceWindowTaskProperties > { static LoggingInfo = LoggingInfo ; static Target = Target ; static NotificationConfig = NotificationConfig ; static MaintenanceWindowAutomationParameters = MaintenanceWindowAutomationParameters ; static TaskInvocationParameters = TaskInvocationParameters ; static MaintenanceWindowStepFunctionsParameters = MaintenanceWindowStepFunctionsParameters ; static MaintenanceWindowRunCommandParameters = MaintenanceWindowRunCommandParameters ; static MaintenanceWindowLambdaParameters = MaintenanceWindowLambdaParameters ; constructor ( properties ) { super ( 'AWS::SSM::MaintenanceWindowTask' , properties ) ; } }