У меня есть плагин настраиваемого действия, и мне нужно записать возвращенные переменные данные на контроллере в файл.Я пытаюсь это локально прямо сейчас.
copy_module_args = dict()
copy_module_args["content"] = 'test'
copy_module_args["dest"] = dest
copy_module_args["owner"] = owner
copy_module_args["group"] = group
copy_module_args["mode"] = mode
try:
result = merge_hash(result, self._execute_module(
module_name="copy",
module_args=copy_module_args,
task_vars=task_vars))
except (AnsibleError, TypeError) as err:
err_msg = "Failed to do stuff"
raise AnsibleActionFail(to_text(err_msg), to_text(err))
Результат ._execute_module равен
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Source None not found"}
Значение результата равно
{'msg': 'Source None not found', 'failed': True, 'invocation': {'module_args': {'content': 'VALUE_SPECIFIED_IN_NO_LOG_PARAMETER', 'dest': '/home/me/testfile', 'owner': 'me', 'group': 'me', 'mode': None, 'backup': False, 'force': True, 'follow': False, 'src': None, '_original_basename': None, 'validate': None, 'directory_mode': None, 'remote_src': None, 'local_follow': None, 'checksum': None, 'seuser': None, 'serole': None, 'selevel': None, 'setype': None, 'attributes': None, 'regexp': None, 'delimiter': None, 'unsafe_writes': None}}, '_ansible_parsed': True}
Этот вызов пытается использовать параметр "src" дажехотя я только передаю параметр «содержание».Я знаю это, потому что, когда я добавляю «src», сообщение об ошибке меняется.Я исключил из документации и из чтения модуля копирования и источника модуля шаблона, что моя реализация, как минимум, приведет к:
- name: Copy using inline content
copy:
content: 'test'
dest: /home/me/testfile
Кто-нибудь знает, что мне не хватает, или почему "src"предпочтение над содержанием, даже если оно не указано?