Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

(events): Unable to use content based filtering patterns in detailType #30220

Open
scub opened this issue May 15, 2024 · 3 comments
Open

(events): Unable to use content based filtering patterns in detailType #30220

scub opened this issue May 15, 2024 · 3 comments
Labels
@aws-cdk/aws-events Related to CloudWatch Events bug This issue is a bug. effort/medium Medium work item – several days of effort p2

Comments

@scub
Copy link
Contributor

scub commented May 15, 2024

Describe the bug

When using the L2 construct for EventBridge Rules a type failure occurs when attempting to create an event bridge rule that uses content based filtering patterns. Requiring the use of a trapdoor in order to achieve the desired results.

Expected Behavior

Content based filtering patterns are supported in an events detailType

Current Behavior

Type '{ prefix: string; }' is not assignable to type 'string'

Reproduction Steps

#!/usr/bin/env node
import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import { Rule, CfnRule } from 'aws-cdk-lib/aws-events';

const app = new cdk.App();

const stack = new cdk.Stack(app, 'RuleTestStack');

const rule = new Rule(stack, 'Rule', {
  eventPattern: {
    detailType: [{"prefix": "shared_"}]
  }
});

Possible Solution

See #30222

Using a trapdoor does provide a work around

(rule.node.defaultChild as CfnRule).addOverride('Properties.EventPattern.detail-type', [{"prefix": "shared_"}])

Additional Information/Context

No response

CDK CLI Version

2.141.0

Framework Version

No response

Node.js Version

18.18.0

OS

OSX

Language

TypeScript

Language Version

Typescript 5.4.0

Other information

No response

@scub scub added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels May 15, 2024
@github-actions github-actions bot added the @aws-cdk/aws-events Related to CloudWatch Events label May 15, 2024
@scub scub changed the title (events): detailType lacks support (events): Unable to use content based filtering patterns in detailType May 15, 2024
@pahud pahud added p2 effort/medium Medium work item – several days of effort and removed needs-triage This issue or PR still needs to be triaged. labels May 16, 2024
@pahud
Copy link
Contributor

pahud commented May 16, 2024

Thank you for your PR.

@victorskl
Copy link

We hit to similar issue but with source field for us. We went with @ts-ignore for now. It is not an issue at EventBirdge rule side and, accepting it.

// @ts-ignore
source: [{ "anything-but": "orcabus.workflowmanager" }],

victorskl added a commit to umccr/orcabus that referenced this issue Jul 3, 2024
* Suppressed with `@ts-ignore` for now as EventBridge able to accept the rule syntax.
  See aws/aws-cdk#30220
mmalenic pushed a commit to umccr/orcabus that referenced this issue Jul 3, 2024
* Suppressed with `@ts-ignore` for now as EventBridge able to accept the rule syntax.
  See aws/aws-cdk#30220
@snowe2010
Copy link

Same issue here, except we use the java cdk (through Kotlin) and this is thus not resolvable at all due to the typing. On the typescript side we were able to resolve it with // @ts-ignore as well, but we're SOL with the Java CDK.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
@aws-cdk/aws-events Related to CloudWatch Events bug This issue is a bug. effort/medium Medium work item – several days of effort p2
Projects
None yet
4 participants