// ~~ Generated by projen. To modify, edit .projenrc.js and run "pnpm exec projen". import * as path from 'path'; import * as lambda from 'aws-cdk-lib/aws-lambda'; import { determineLatestNodeRuntime } from 'aws-cdk-lib/aws-lambda'; import { Construct } from 'constructs'; /** * Props for SetupFunction */ export interface SetupFunctionProps extends lambda.FunctionOptions { /** * The Lambda runtime to use. * @default - Latest Node.js runtime available in the deployment region */ readonly runtime?: lambda.Runtime; } /** * An AWS Lambda function which executes src/setup. */ export class SetupFunction extends lambda.Function { constructor(scope: Construct, id: string, props?: SetupFunctionProps) { super(scope, id, { description: 'src/setup.lambda.ts', ...props, runtime: props?.runtime ?? determineLatestNodeRuntime(scope), handler: 'index.handler', code: lambda.Code.fromAsset(path.join(__dirname, '../assets/setup.lambda')), }); this.addEnvironment('AWS_NODEJS_CONNECTION_REUSE_ENABLED', '1', { removeInEdge: true }); } }