constructor()

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');
	}