Krikri::IncludeDirectiveError
A bad argument on an include/include-role directive (include_role:,
import_role:, import_tasks:, include_tasks:), rejected by
ansible-core at PLAYBOOK-LOAD time - TaskInclude.check_options /
IncludeRole.load run while the playbook is being parsed, long before
any play banner. ansible-playbook 2.19.11 aborts the whole run
with an "[ERROR]: ..." block (plus the task's Origin block when the
raise carries obj=data - the FROM_ARGS "Expected a string" raise does
NOT, live-verified) on STDERR and exits 4:
- a non-string, non-mapping free-form value (
import_tasks: 5): mod_args' "unexpected parameter type in action: <class ...>" - unknown options (
include_role: {handler_sfrom: x}): "Invalid options for <action>: <keys>" (Ansible's key order comes out of a frozenset, so it is process-random for 2+ keys; this engine emits the playbook's own key order) - include_role/import_role without
name/role: "'name' is a required field for <action>." - a non-string name/role: value on a STATIC import_role: ("Invalid role definition." with the value's own Origin - the dynamic include_role:'s same value aborts at RUN time instead, see the executor's fail_include_role_invalid_definition)
- a non-string tasks_from/vars_from/defaults_from/handlers_from: "Expected a string for <key> but got <class ...> instead"
- a non-dict
apply:("Expected a dict for apply but got <class ...> instead" - an explicit null counts, an ABSENT key does not), orapply:on import_tasks/import_role (valid on include_tasks/ include_role only): "Invalid options for <action>: apply" - import_tasks/include_tasks with no file at all (empty, null,
{},{file: ""}): "No file specified for <action>"
Carries the fully rendered stderr block (built at the raise site, which is where the source map lives) for krikri-playbook.cr to print verbatim, the way MetaActionTypeError does.
Constructors
Instance methods
render
Source