¿Reducir el texto repetitivo de tareas ansible con algún tipo de plantilla?

¿Reducir el texto repetitivo de tareas ansible con algún tipo de plantilla?

Estoy buscando formas de reducir la cantidad de configuración de placa de caldera que tengo que poner en algunas de mis tareas ansibles.

Por ejemplo, tengo muchas tareas usando el docker_containermódulo, y cada una tiene las mismas ~10 opciones idénticas configuradas. Me gustaría tener estas opciones estándar definidas en algún lugar centralizado, y cada tarea simplemente define solo las opciones únicas que necesita.

(El problema al investigar esto es que el 99,9% de los resultados de búsqueda sobre este tema se refieren al módulo de copia/plantilla en sí).

Supongo que podría escribir un módulo personalizado en Python que extienda el módulo docker_container, pero eso parece realmente excesivo.

¿Alguna idea sobre cómo reducir la configuración repetitiva?

Respuesta1

Puedes usarmodule 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

información relacionada