
Я ищу способы сократить объем шаблонной конфигурации, которую мне приходится использовать в некоторых моих задачах 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