使用某種模板減少ansible任務樣板?

使用某種模板減少ansible任務樣板?

我正在尋找方法來減少我必須放入一些 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

相關內容