web-dev-qa-db-ja.com

Ansibleテンプレートをファクト変数にレンダリングする

Ansibleテンプレートを実際にレンダリングする方法はありますか?解決策を見つけようとしましたが、一時ファイルが唯一の方法のようです。

15
kay

template lookup plugin を探しているだけかもしれません。

- set_fact:
    rendered_template: "{{ lookup('template', './template.j2') }}"

使用例:

  • template.j2

    Hello {{ value_for_template }}
    
  • playbook.yml

    ---
    - hosts: localhost
      gather_facts: no
      connection: local
      vars:
        value_for_template: world
      tasks:
        - set_fact:
            rendered_template: "{{ lookup('template', './template.j2') }}"
        - debug:
            var: rendered_template
    
  • 結果:

    TASK [debug] *******************************************************************
    ok: [localhost] => {
        "rendered_template": "Hello world\n"
    }
    
26
techraf