diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts index 4fc6a98ec72ec..049dcbd4c00bf 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts @@ -272,7 +272,7 @@ export interface ApplicationLoadBalancedServiceBaseProps { readonly enableExecuteCommand?: boolean; /** - * The load balancer idle timeout, in seconds + * The load balancer idle timeout, in seconds. Can be between 1 and 4000 seconds * * @default - CloudFormation sets idle timeout to 60 seconds */ @@ -443,7 +443,8 @@ export abstract class ApplicationLoadBalancedServiceBase extends Construct { const internetFacing = props.publicLoadBalancer ?? true; if (props.idleTimeout) { - if (props.idleTimeout > Duration.seconds(4000) || props.idleTimeout < Duration.seconds(1)) { + const idleTimeout = props.idleTimeout.toSeconds(); + if (idleTimeout > Duration.seconds(4000).toSeconds() || idleTimeout < Duration.seconds(1).toSeconds()) { throw new Error('Load balancer idle timeout must be between 1 and 4000 seconds.'); } } diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts index 1766e008eae3f..82086081b299e 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts @@ -880,7 +880,7 @@ test('passes when idleTimeout is between 1 and 4000 seconds', () => { streamPrefix: 'TestStream', }), }, - idleTimeout: Duration.seconds(120), + idleTimeout: Duration.seconds(4000), desiredCount: 2, }); }).toBeTruthy();