import type { aws_dynamodb, aws_ecs, aws_elasticloadbalancingv2, aws_s3 } from 'aws-cdk-lib'; import type { NextjsType } from '../'; /** * OptionalNextjsContainersProps */ export interface OptionalNextjsContainersProps { /** * Bring your own ECS cluster. * When provided, cdk-nextjs will skip creating * a new cluster and VPC gateway endpoints. The cluster is passed directly * to `ApplicationLoadBalancedFargateService`. * @stability stable */ readonly ecsCluster?: aws_ecs.ICluster; /** * Bring your own Application Load Balancer. * When provided, it is passed * directly to `ApplicationLoadBalancedFargateService`. If the ALB already * has a listener on port 80, call `removeAutoCreatedListener()` after * construction to avoid deployment failures. * @stability stable */ readonly alb?: aws_elasticloadbalancingv2.IApplicationLoadBalancer; /** * @stability stable */ readonly relativeEntrypointPath?: string; /** * Relative path from buildDirectory to the package containing Next.js app. * @stability stable */ readonly relativePathToPackage?: string; /** * DynamoDB table for revalidation metadata. * @stability stable */ readonly revalidationTable?: aws_dynamodb.ITableV2; /** * @stability stable */ readonly nextjsType?: NextjsType; /** * @stability stable */ readonly healthCheckPath?: string; /** * S3 bucket for cache storage. * @stability stable */ readonly cacheBucket?: aws_s3.IBucket; /** * Build ID for cache key prefixing. * @stability stable */ readonly buildId?: string; /** * Directory where the Next.js application is located. This should contain the .next directory and other build artifacts. Required for local builds. * @stability stable */ readonly buildDirectory?: string; }