private createEvents()

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