Skip to content

Commit 73dc1b5

Browse files
authored
Merge branch 'main' into scanlonp-patch-1
2 parents f660473 + a05591d commit 73dc1b5

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

packages/aws-cdk-lib/aws-events/lib/rule.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,10 @@ export class Rule extends Resource implements IRule {
314314
errors.push('Either \'eventPattern\' or \'schedule\' must be defined');
315315
}
316316

317+
if (this.targets.length > 5) {
318+
errors.push('Event rule cannot have more than 5 targets.');
319+
}
320+
317321
return errors;
318322
}
319323

packages/aws-cdk-lib/aws-events/test/rule.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,25 @@ describe('rule', () => {
7272
});
7373
});
7474

75+
test('rule cannot have more than 5 targets', () => {
76+
const app = new cdk.App();
77+
const stack = new cdk.Stack(app);
78+
const resource = new Construct(stack, 'Resource');
79+
const rule = new Rule(stack, 'MyRule', {
80+
schedule: Schedule.rate(cdk.Duration.minutes(10)),
81+
targets: [
82+
new SomeTarget('T1', resource),
83+
new SomeTarget('T2', resource),
84+
new SomeTarget('T3', resource),
85+
new SomeTarget('T4', resource),
86+
new SomeTarget('T5', resource),
87+
new SomeTarget('T6', resource),
88+
],
89+
});
90+
91+
expect(() => app.synth()).toThrow(/Event rule cannot have more than 5 targets./);
92+
});
93+
7594
test('get rate as token', () => {
7695
const app = new cdk.App();
7796
const stack = new cdk.Stack(app, 'MyScheduledStack');

0 commit comments

Comments
 (0)