Ansible-Task-Boilerplate mit einer Art Vorlage reduzieren?

Ansible-Task-Boilerplate mit einer Art Vorlage reduzieren?

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_containerModul 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

verwandte Informationen