class

Krikri::RemovedActionError

Inherits Exception < Reference < Object

Raised for a playbook construct real ansible-core rejects at PARSE time (before any task anywhere runs), not just one this engine hasn't implemented yet. Deliberately bypasses the per-task (#parse_tasks) and per-play (#parse_string) graceful-degradation rescues that swallow ordinary parse errors into a "Warning: Skipping ..."/"Warning: Failed to parse play ..." and keep going - those are correct for "this engine doesn't support X yet" (an engine limitation), but wrong for "real Ansible itself refuses to even start the run" (a playbook written for a version of ansible-core this role no longer supports). Propagates all the way to krikri-playbook.cr's own top-level "Error parsing playbook:" handler (rc=1, nothing executes) - matching real Ansible's own behavior exactly instead of executing PART of the play and failing partway through for an unrelated reason. Found live benchmarking robertdebock.awx (round 162): its own tasks/main.yml uses ansible.builtin.include:, an action plugin real ansible-core removed entirely after 2023-05-16 - real ansible-playbook 2.19.4 rejects the whole playbook immediately (rc=1, 0 tasks run); this engine treated it as merely "Plugin not available: include" (the same soft per-task skip as any not-yet-implemented module) and kept executing every task after it, one of which then failed for a completely different, real reason (insufficient host resources) - visibly different final state, not just a cosmetic message mismatch.