-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: