class

Krikri::Lint::FqcnActionCoreRule

Inherits Krikri::Lint::Rule < Reference < Object

Upstream parity: ansible-lint's fqcn[action-core] (from the fqcn rule, severity MEDIUM, tags formatting). Fires when a task uses a bare name for a module that resolves to an ansible.builtin module.

Constants

REDIRECTS = {"yum" => "ansible.builtin.dnf", "ansible.builtin.yum" => "ansible.builtin.dnf"}

Ansible's plugin loader redirects deprecated modules; upstream resolves via resolved_fqcn at runtime.

Instance methods

applies_to
Source
check(file : PositionedFile, violations : Array(Violation)) : Nil
Source
fix(buffer : FixBuffer, file : PositionedFile, violation : Violation) : Bool

Rewrites the module key in place with its resolved FQCN, like upstream's fqcn transform.

Source
fixable?

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.

Source
marks_fixed?(violation : Violation) : Bool

Upstream's fqcn transform rewrites the action key and marks the match fixed. so no "not applied" is logged for it.

Source
severity
Source
tags
Source
task_scoped?

Task-oriented: violations belong to an enclosing task, so a # noqa: anywhere in that task's body suppresses them.

Source
transformable?

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).

Source