in src/pipelineResources.js [411:451]
async function createLambdaFunction() {
startSpinner('Creating Lambda function', true);
let lambdaName = NAME +'LambdaFunction';
let params = {
Code: {
ZipFile: ZIP
},
FunctionName: lambdaName,
Handler: 'index.handler',
Role: LAMBDA_ROLE,
Runtime: 'nodejs18.x',
Description: 'Neptune GraphQL Resolver for AppSync',
Timeout: 15,
MemorySize: 128,
Environment: {
Variables: {
"NEPTUNE_HOST": NEPTUNE_HOST,
"NEPTUNE_PORT": NEPTUNE_PORT,
"NEPTUNE_IAM_AUTH_ENABLED": NEPTUNE_IAM_AUTH.toString(),
"LOGGING_ENABLED": "false",
"NEPTUNE_DB_NAME": NEPTUNE_DB_NAME,
"NEPTUNE_REGION": REGION,
"NEPTUNE_DOMAIN": parseNeptuneDomainFromHost(NEPTUNE_HOST),
"NEPTUNE_TYPE": NEPTUNE_TYPE,
},
},
};
if (!NEPTUNE_IAM_AUTH) {
params.VpcConfig = {
SubnetIds: NEPTUNE_DBSubnetIds,
SecurityGroupIds: [NEPTUNE_VpcSecurityGroupId]
}
}
const lambdaClient = new LambdaClient({region: REGION});
const data = await lambdaClient.send(new LambdaCreateFunctionCommand(params));
LAMBDA_ARN = data.FunctionArn;
storeResource({LambdaFunction: lambdaName});
succeedSpinner('Lambda Name: ' + yellow(lambdaName) + ' ARN: ' + yellow(LAMBDA_ARN), {logLevel: 'debug'});
loggerInfo('Lambda function created')
}