-
Notifications
You must be signed in to change notification settings - Fork 4k
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
aws-logs: Allow JSON filter patterns to use regex by removing automatic double quotes around pattern strings #30451
Comments
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: #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:
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. |
@jan-xyz Thanks for the solution! |
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
The text was updated successfully, but these errors were encountered: