We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents f660473 + a05591d commit 73dc1b5Copy full SHA for 73dc1b5
2 files changed
packages/aws-cdk-lib/aws-events/lib/rule.ts
@@ -314,6 +314,10 @@ export class Rule extends Resource implements IRule {
314
errors.push('Either \'eventPattern\' or \'schedule\' must be defined');
315
}
316
317
+ if (this.targets.length > 5) {
318
+ errors.push('Event rule cannot have more than 5 targets.');
319
+ }
320
+
321
return errors;
322
323
packages/aws-cdk-lib/aws-events/test/rule.test.ts
@@ -72,6 +72,25 @@ describe('rule', () => {
72
});
73
74
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
94
test('get rate as token', () => {
95
const app = new cdk.App();
96
const stack = new cdk.Stack(app, 'MyScheduledStack');
0 commit comments