Open sobesim opened 3 months ago
Also impacted by this issue.
Thank you for the issue report. Please help us prioritize with 👍 and we welcome pull requests.
I created a PR and maybe one of you is willing to also provide some feedback: https://github.com/aws/aws-cdk/pull/30741
Is there any workaround for this?
Yes, provide your own function that adds a regex filter pattern, like the one from the PR I linked.
@pahud anything I can do to reopen the PR I made? It was far from abandoned. I requested support weeks ago and never got any response. Honestly, this felt super discouraging and I don't think I will contribute to CDK in the future.
Hi @jan-xyz, apologies for the late response on your PR. I've re-opened and replied on the PR with the information you've requested. Thank you for the contribution!
Hi @jan-xyz , thanks for raising this! Found this while trying to resolve my own similar problem, and used your solution.
I couldn't comment on the CR, so here are two suggestions:
!
, they could be directed to this same documentation with a message like, unsupported char, etc...comparison: '=' | '!='
public static regexValue(jsonField: string, comparison: '=' | '!=', value: string): JsonPattern {
return new JSONRegexPattern(jsonField, comparison, value);
}
@jan-xyz just wanted to say thank you for taking the time to document your solution, it helped me as well.
Nice! I am also planning to still do the remaining work for the integration test. It's just very busy at the moment and I didn't find the time to get to it again.
Describe the feature
FilterPattern.stringValue should allow the user to specify if the
value
input field is a regex string or not.Use Case
According to CloudWatch filter pattern documentation, regex expressions must be surrounded by
%
.I'm trying to use cdk's FilterPattern.stringValue to match a json document.
CDK automatically adds double quotes in the final filter pattern, which prevents Cloudwatch from recognizing any string as a regex pattern. For example:
Proposed Solution
Reason for this behavior may be this line: https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-logs/lib/pattern.ts#L399. Perhaps we need another input to
stringValue
that allows the user to specify if the input string is a regex pattern or not.Other Information
No response
Acknowledgements
CDK version used
2.144.0
Environment details (OS name and version, etc.)
Linux