in packages/cdk/lib/cloudbuster.ts [27:60]
constructor(stack: GuStack, props: CloudBusterProps) {
const {
vpc,
dbAccess,
db,
anghammaradTopic,
monitoringConfiguration,
schedule,
} = props;
const app = 'cloudbuster';
const lambda = new GuScheduledLambda(stack, 'cloudbuster', {
app,
vpc,
architecture: Architecture.ARM_64,
runtime: Runtime.NODEJS_20_X,
securityGroups: [dbAccess],
fileName: `${app}.zip`,
handler: 'index.main',
environment: {
ANGHAMMARAD_SNS_ARN: anghammaradTopic.topicArn,
DATABASE_HOSTNAME: db.dbInstanceEndpointAddress,
QUERY_LOGGING: 'false',
},
timeout: Duration.minutes(2),
memorySize: 512,
monitoringConfiguration,
loggingFormat: LoggingFormat.TEXT,
rules: [{ schedule }],
});
anghammaradTopic.grantPublish(lambda);
db.grantConnect(lambda, 'cloudbuster');
}