Krikri::Lint::NoJinjaWhenRule
Inherits Krikri::Lint::Rule < Reference < Object
Upstream parity: ansible-lint's no-jinja-when (severity HIGH, tags deprecations). when/changed_when/failed_when are raw Jinja expressions; {{ }} around them is redundant and deprecated.
Constants
Instance methods
Upstream's transform strips {{ }} from when/changed_when and failed_when values (RE_JINJA = {{ (.*?) }}), preserving the scalar's quoting. List values are left alone (upstream's transform would crash on them and the match stays unfixed).
Autofix support, mirroring upstream's TransformMixin: a rule opts in by overriding fixable? (and carrying the "autofix" tag like upstream does) and implementing fix. fix must only make line-local edits through the FixBuffer (replace spans within existing lines, delete whole lines, add the final newline); returning true marks the violation fixed so the CLI drops it from the report.
Upstream's transform strips the Jinja template and marks the match fixed. so no "not applied" is logged for it.
Task-oriented: violations belong to an enclosing task, so a
# noqa: anywhere in that task's body suppresses them.
Upstream's TransformMixin: the --fix transformer attempts a rule-specific transform for matches of these rules, even when krikri has no line fix of its own (upstream's yaml transform is a documented no-op, yet every yaml[*] match gets a "Rule specific fix not applied for" ERROR from it).