import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class BatchRetryStrategy { Attempts ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpParameters { HeaderParameters ? : { [ key ] : Value < string > ; } ; PathParameterValues ? : List < Value < string > > ; QueryStringParameters ? : { [ key ] : Value < string > ; } ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BatchArrayProperties { Size ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BatchParameters { ArrayProperties ? : BatchArrayProperties ; JobDefinition ! : Value < string > ; JobName ! : Value < string > ; RetryStrategy ? : BatchRetryStrategy ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RunCommandParameters { RunCommandTargets ! : List < RunCommandTarget > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeadLetterConfig { Arn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class NetworkConfiguration { AwsVpcConfiguration ? : AwsVpcConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RunCommandTarget { Key ! : Value < string > ; Values ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputTransformer { InputPathsMap ? : { [ key ] : Value < string > ; } ; InputTemplate ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SqsParameters { MessageGroupId ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RetryPolicy { MaximumEventAgeInSeconds ? : Value < number > ; MaximumRetryAttempts ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Target { Arn ! : Value < string > ; BatchParameters ? : BatchParameters ; DeadLetterConfig ? : DeadLetterConfig ; EcsParameters ? : EcsParameters ; HttpParameters ? : HttpParameters ; Id ! : Value < string > ; Input ? : Value < string > ; InputPath ? : Value < string > ; InputTransformer ? : InputTransformer ; KinesisParameters ? : KinesisParameters ; RedshiftDataParameters ? : RedshiftDataParameters ; RetryPolicy ? : RetryPolicy ; RoleArn ? : Value < string > ; RunCommandParameters ? : RunCommandParameters ; SqsParameters ? : SqsParameters ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KinesisParameters { PartitionKeyPath ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RedshiftDataParameters { Database ! : Value < string > ; DbUser ? : Value < string > ; SecretManagerArn ? : Value < string > ; Sql ! : Value < string > ; StatementName ? : Value < string > ; WithEvent ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EcsParameters { Group ? : Value < string > ; LaunchType ? : Value < string > ; NetworkConfiguration ? : NetworkConfiguration ; PlatformVersion ? : Value < string > ; TaskCount ? : Value < number > ; TaskDefinitionArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AwsVpcConfiguration { AssignPublicIp ? : Value < string > ; SecurityGroups ? : List < Value < string > > ; Subnets ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface RuleProperties { Description ? : Value < string > ; EventBusName ? : Value < string > ; EventPattern ? : { [ key ] : any ; } ; Name ? : Value < string > ; RoleArn ? : Value < string > ; ScheduleExpression ? : Value < string > ; State ? : Value < string > ; Targets ? : List < Target > ; } export default class Rule extends ResourceBase < RuleProperties > { static BatchRetryStrategy = BatchRetryStrategy ; static HttpParameters = HttpParameters ; static BatchArrayProperties = BatchArrayProperties ; static BatchParameters = BatchParameters ; static RunCommandParameters = RunCommandParameters ; static DeadLetterConfig = DeadLetterConfig ; static NetworkConfiguration = NetworkConfiguration ; static RunCommandTarget = RunCommandTarget ; static InputTransformer = InputTransformer ; static SqsParameters = SqsParameters ; static RetryPolicy = RetryPolicy ; static Target = Target ; static KinesisParameters = KinesisParameters ; static RedshiftDataParameters = RedshiftDataParameters ; static EcsParameters = EcsParameters ; static AwsVpcConfiguration = AwsVpcConfiguration ; constructor ( properties ? ) { super ( 'AWS::Events::Rule' , properties || { } ) ; } }