Reduzir o padrão de tarefas ansible com algum tipo de modelo?

Reduzir o padrão de tarefas ansible com algum tipo de modelo?

Estou procurando maneiras de reduzir a quantidade de configuração padrão que preciso colocar em algumas de minhas tarefas ansible.

Por exemplo, tenho muitas tarefas usando o docker_containermódulo, e cada uma tem o mesmo conjunto de aproximadamente 10 opções idênticas. Eu gostaria que essas opções padrão fossem definidas em algum lugar centralizado, e cada tarefa simplesmente definisse apenas as opções exclusivas de que precisa.

(O problema ao pesquisar isso é que 99,9% dos resultados de pesquisa sobre esse assunto são sobre o próprio módulo de cópia/modelo).

Acho que poderia escrever um módulo personalizado em python que estendesse o módulo docker_container, mas isso parece um exagero.

Alguma idéia sobre como reduzir a configuração padrão?

Responder1

Você pode 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

informação relacionada