feat(core): plugin violations can be suppressed#37808
Conversation
Add post-plugin suppression filtering so that violations from any plugin can be suppressed via Validations.of().acknowledge(). - collectAcknowledgedRuleIds() walks the construct tree collecting acknowledged rule IDs from metadata - Violations matched as <pluginName>::<ruleName> against acknowledged set - Fatal violations cannot be suppressed - Works for any plugin: default::E9001, CfnGuardValidator::RULE, etc. - Test uses Validations.of().addPlugins() (not deprecated Beta1 prop)
Please make sure your PR references an existing issue using the format |
Plugin names and rule names with spaces use dashes in the suppression ID. For example, a plugin named 'My Plugin' with rule 'MY RULE' is suppressed with 'My-Plugin::MY-RULE'.
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
Merge Queue Status
This pull request spent 1 hour 33 minutes 12 seconds in the queue, including 31 minutes 30 seconds running CI. Required conditions to merge
|
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
|
Comments on closed issues and PRs are hard for our team to see. |
Reason for this change
Part of the Validations RFC. Enables suppression of validation plugin findings via
Validations.of().acknowledge(). Reroll of #37781Description of changes
collectAcknowledgedRuleIds()walks the construct tree collecting acknowledged rule IDs from metadata<pluginName>::<ruleName>(e.g.CfnGuardValidator::S3_BUCKET_VERSIONING)severity === 'fatal') cannot be suppressedUsage
Description of how you validated changes
tsc --noEmitpassesChecklist