使用Ansible中的“changed_when”选项来控制“changed”字段的输出。该选项允许我们在任务没有更改系统状态时强制“changed”为False,或者在任务更改了系统状态时强制将其设置为True。这对于减少不必要的输出非常有用。
示例:
name: Update packages yum: name: '*' state: latest changed_when: False register: result
name: Restart service service: name: httpd state: restarted changed_when: result.changed
在上面的示例中,第一项任务将自动设置“changed”为False,因为我们不关心是否有任何软件包更新。第二个任务使用了“changed_when”,这意味着如果第一个任务更改了系统状态(即软件包更新),则将强制将“changed”设置为True并重新启动服务。如果没有进行任何更改,则“changed”将保持为False。
上一篇:Ansible输出解析困难问题
下一篇:Ansible输出详细信息的更改