in lib/addons/aws-node-termination-handler/index.ts [186:215]
private createEvents(scope: Construct, queue: Queue): void {
const target = new SqsQueue(queue);
const eventPatterns: EventPattern[] = [
{
source: ['aws.autoscaling'],
detailType: ['EC2 Instance-terminate Lifecycle Action']
},
{
source: ['aws.ec2'],
detailType: ['EC2 Spot Instance Interruption Warning']
},
{
source: ['aws.ec2'],
detailType: ['EC2 Instance Rebalance Recommendation']
},
{
source: ['aws.ec2'],
detailType: ['EC2 Instance State-change Notification']
},
{
source: ['aws.health'],
detailType: ['AWS Health Even'],
}
];
eventPatterns.forEach((event, index) => {
const rule = new Rule(scope, `rule-${index}`, { eventPattern: event });
rule.addTarget(target);
});
}