mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-25 03:41:25 -07:00
restore task arg splatting (#43798)
* restore task arg splatting * reverts #41804 * supersedes #41295 * fixes #42192 * after lots of discussion amongst the core team, we decided to preserve this feature, clarify the runtime warnings/docs, and prioritize a path toward fixing the underlying behavior that causes this feature to be insecure (un-namespaced facts). * update faq text note that warning is disabled when inject_facts_as_vars is * wordsmithing FAQ entry
This commit is contained in:
parent
8a52f2f1de
commit
6b81c36533
2 changed files with 38 additions and 2 deletions
|
@ -519,7 +519,11 @@ class TaskExecutor:
|
|||
if '_variable_params' in self._task.args:
|
||||
variable_params = self._task.args.pop('_variable_params')
|
||||
if isinstance(variable_params, dict):
|
||||
raise AnsibleError("Using a variable for a task's 'args' is not allowed as it is unsafe, facts can come from untrusted sources.")
|
||||
if C.INJECT_FACTS_AS_VARS:
|
||||
display.warning("Using a variable for a task's 'args' is unsafe in some situations "
|
||||
"(see https://docs.ansible.com/ansible/devel/reference_appendices/faq.html#argsplat-unsafe)")
|
||||
variable_params.update(self._task.args)
|
||||
self._task.args = variable_params
|
||||
|
||||
# get the connection and the handler for this execution
|
||||
if (not self._connection or
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue