def _task_start(self, task, prefix=None): # Cache output prefix for task if provided # This is needed to properly display 'RUNNING HANDLER' and similar # when hiding skipped/ok task results if prefix is not None: self._task_type_cache[task._uuid] = prefix # Preserve task name, as all vars may not be available for templating # when we need it later if self._play.strategy in add_internal_fqcns(('free', 'host_pinned')): # Explicitly set to None for strategy free/host_pinned to account for any cached # task title from a previous non-free play self._last_task_name = None else: self._last_task_name = task.get_name().strip() # Display the task banner immediately if we're not doing any filtering based on task result if self.display_skipped_hosts and self.display_ok_hosts: self._print_task_banner(task)
from ansible.plugins.loader import module_loader, action_loader from ansible.template import Templar from ansible.utils.collection_loader import AnsibleCollectionRef from ansible.utils.fqcn import add_internal_fqcns from ansible.utils.sentinel import Sentinel # For filtering out modules correctly below FREEFORM_ACTIONS = frozenset(C.MODULE_REQUIRE_ARGS) RAW_PARAM_MODULES = FREEFORM_ACTIONS.union( add_internal_fqcns(( 'include', 'include_vars', 'include_tasks', 'include_role', 'import_tasks', 'import_role', 'add_host', 'group_by', 'set_fact', 'meta', ))) BUILTIN_TASKS = frozenset( add_internal_fqcns(('meta', 'include', 'include_tasks', 'include_role', 'import_tasks', 'import_role'))) class ModuleArgsParser: """ There are several ways a module and argument set can be expressed:
self._msg = msg self._version = version def __len__(self): _deprecated(self._msg, version=self._version) return len(self._value) def __getitem__(self, y): _deprecated(self._msg, version=self._version) return self._value[y] # CONSTANTS ### yes, actual ones # The following are hard-coded action names _ACTION_DEBUG = add_internal_fqcns(('debug', )) _ACTION_IMPORT_PLAYBOOK = add_internal_fqcns(('import_playbook', )) _ACTION_IMPORT_ROLE = add_internal_fqcns(('import_role', )) _ACTION_IMPORT_TASKS = add_internal_fqcns(('import_tasks', )) _ACTION_INCLUDE = add_internal_fqcns(('include', )) _ACTION_INCLUDE_ROLE = add_internal_fqcns(('include_role', )) _ACTION_INCLUDE_TASKS = add_internal_fqcns(('include_tasks', )) _ACTION_INCLUDE_VARS = add_internal_fqcns(('include_vars', )) _ACTION_META = add_internal_fqcns(('meta', )) _ACTION_SET_FACT = add_internal_fqcns(('set_fact', )) _ACTION_SETUP = add_internal_fqcns(('setup', )) _ACTION_HAS_CMD = add_internal_fqcns(('command', 'shell', 'script')) _ACTION_ALLOWS_RAW_ARGS = _ACTION_HAS_CMD + add_internal_fqcns(('raw', )) _ACTION_ALL_INCLUDES = _ACTION_INCLUDE + _ACTION_INCLUDE_TASKS + _ACTION_INCLUDE_ROLE _ACTION_ALL_IMPORT_PLAYBOOKS = _ACTION_INCLUDE + _ACTION_IMPORT_PLAYBOOK _ACTION_ALL_INCLUDE_IMPORT_TASKS = _ACTION_INCLUDE + _ACTION_INCLUDE_TASKS + _ACTION_IMPORT_TASKS
from ansible.plugins.loader import module_loader, action_loader from ansible.template import Templar from ansible.utils.collection_loader import AnsibleCollectionRef from ansible.utils.fqcn import add_internal_fqcns from ansible.utils.sentinel import Sentinel # For filtering out modules correctly below FREEFORM_ACTIONS = frozenset(C.MODULE_REQUIRE_ARGS) RAW_PARAM_MODULES = FREEFORM_ACTIONS.union(add_internal_fqcns(( 'include', 'include_vars', 'include_tasks', 'include_role', 'import_tasks', 'import_role', 'add_host', 'group_by', 'set_fact', 'meta', ))) BUILTIN_TASKS = frozenset(add_internal_fqcns(( 'meta', 'include', 'include_tasks', 'include_role', 'import_tasks', 'import_role' )))