我正在使用AWS ec2模块,我想记录每个命令发送给AWS的用户数据,但我不想要所有其他无用任务的详细输出。
有什么方法可以启用ec2
模块的详细程度吗?
答案 0 :(得分:3)
我同意@techraf的说法没有开箱即用的方法 但Ansible可以通过插件轻松调整!
将此代码删除为<playbook_dir>/callback_plugins/verbose_tasks.py
:
from ansible.plugins.callback import CallbackBase
import json
try:
from __main__ import display
except ImportError:
display = None
class CallbackModule(CallbackBase):
def v2_runner_on_any(self, result, ignore_errors=False):
if (result._task.action in ['file','stat']):
print '####### DEBUG ########'
print json.dumps(result._result,indent=4)
print '####### DEBUG ########'
v2_runner_on_ok = v2_runner_on_any
v2_runner_on_failed = v2_runner_on_any
您可以通过更改['file','stat']
列表来调整要打印的模块的结果
如果您只需要ec2
,请将其替换为['ec2']
。
答案 1 :(得分:0)
我认为没有一种直截了当的方式。
作为一种解决方法,您可以使用no_log: true
运行整个游戏,并将no_log: false
明确添加到调用ec2
操作的任务中。然后使用-v
运行该剧本。