我正在寻找方法来减少必须放入某些 ansible 任务中的样板配置量。
例如,我有许多任务使用该docker_container
模块,每个任务都有大约 10 个相同的选项集。我希望将这些标准选项集中定义在某个地方,每个任务仅定义其所需的唯一选项。
(研究这个问题的问题是,关于这个主题的 99.9% 的搜索结果都是关于复制/模板模块本身的)。
我想我可以用 python 编写一个自定义模块来扩展 docker_container 模块,但这似乎真的有点小题大做。
关于减少样板配置有什么想法吗?
答案1
您可以使用module defaults
- hosts: localhost
module_defaults:
ansible.builtin.file:
owner: root
group: root
mode: 0755
tasks:
- name: Create file1
ansible.builtin.file:
state: touch
path: /tmp/file1
- name: Create file2
ansible.builtin.file:
state: touch
path: /tmp/file2
- name: Create file3
ansible.builtin.file:
state: touch
path: /tmp/file3