Ansible:ジョブまたはテンプレートの条件?

Ansible:ジョブまたはテンプレートの条件?

ファイルの内容を変数に依存させる方法は2つあります。

copy:
  path: /foo
  content: |
    {{ if myFoo }}
      ; lots of stuff
    {{ else }}
      ; lots of other stuff
    {{ end }}

それとも私ができます

copy:
  path: /foo
  content: |
      ; lots of stuff
when: myFoo

そして

copy:
  path: /foo
  content: |
      ; lots of other stuff
when: not myFoo

ここで正常な構造は何ですか?あなたは何が欲しいですか?

ベストアンサー1

課題を書き直す必要がありました。

- copy:
        dest: /tmp/ansiblefile.txt
        content: |
          {% if myFoo %}
            ; lots of stuff
          {% else %}
            ; lots of other stuff
          {% endif %}
- copy:
    dest: /foo
    content: |
      ; lots of stuff
  when: myFoo

- copy:
    dest: /foo
    content: |
      ; lots of stuff
  when: not myFoo

私の考えでは、どちらも大丈夫です。しかし、私はjinjaテンプレートを扱わない方が簡単であることを知っているので、後者のアプローチを使用します。 jinjaテンプレートのドキュメントはあまり詳細ではなく、理解するのは簡単ではありません。

おすすめ記事