
Ich suche nach Möglichkeiten, die Menge an Boilerplate-Konfigurationen zu reduzieren, die ich in einige meiner Ansible-Aufgaben einfügen muss.
Ich habe beispielsweise viele Aufgaben, die das docker_container
Modul verwenden, und jede hat denselben Satz von ca. 10 identischen Optionen. Ich möchte diese Standardoptionen irgendwo zentral definiert haben und jede Aufgabe definiert einfach nur die einzigartigen Optionen, die sie benötigt.
(Das Problem bei der Recherche besteht darin, dass sich 99,9 % der Suchergebnisse zu diesem Thema auf das Kopier-/Vorlagenmodul selbst beziehen.)
Ich schätze, ich könnte ein benutzerdefiniertes Modul in Python schreiben, das das Docker_Container-Modul erweitert, aber das scheint wirklich übertrieben.
Irgendwelche Ideen zur Reduzierung der Boilerplate-Konfiguration?
Antwort1
Sie könnenmodule 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