我发现自己反复向 Ansible 的文件相关模块输入参数,如下所示:
- copy:
[…]
owner: root
group: root
mode: ugo=r
Run Code Online (Sandbox Code Playgroud)
尽管假设省略这些所有权参数会导致与任务相同的结果似乎是安全的 'sudo
过时”执行,但我想在角色的默认值或每个模块的主机变量的范围内明确定义一次这些参数甚至一组模块。
有没有办法促进这样的定义?
是的,只要您使用的版本大于等于 2.6,就可以执行此操作。这可以使用module_defaults
关键字来完成。
示例用法如下所示:
- hosts: localhost
gather_facts: no
module_defaults:
file:
owner: foobar
tasks:
- file:
path: /tmp/defaults_test
state: touch
Run Code Online (Sandbox Code Playgroud)