ansible
優れたテンプレートエンジン(Jinja2
ベース)をテンプレート変数を使用する別のプロジェクトで使用したいと考えています。可能性のあるテンプレートエンジンの外部使用
テンプレート変数はすべてのansible
ルックアップとフィルタを使用できます。
私はこれに似てレンダリングするためのパイプラインを確立したいと思います:
input.yaml.j2
=>ansible (template engine)
=>output.yaml
例:
input.yaml.j2
vars:
users: "{{ lookup('file', '/tmp/users.json') }}"
template:
- name: "{{ item.name }}"
type: "user"
fist_user_group: "{{ item.user_groups.0 }}"
with_items:
- "{{ users }}"
/tmp/users.json
[
{'John': 'groups': ['apache', 'webapp']},
{'Rohit': 'groups': ['rabbitmq', 'postgresql']}
]
output.yaml
- name: "John"
type: "user"
first_user_group: "apache"
- name: "Rohit"
type: "user"
first_user_group: "rabbitmq"
質問:
がどのように私は自分のテンプレートを解析するレンダリングエンジンをansible
を使用することができますか?
なぜ 'template'モジュールを実行する小さなプレーブックを使用しないのですか? –
これはうまくいくかもしれません。あなたは例を挙げていただけますか?私は「不安な人」にはあまりよく慣れていませんが、レンダリング機能には感銘を受けました。このプレイブックをPythonコードからローカルに実行するにはどうすればよいですか?ファイルの代わりに出力テンプレートをメモリに入れる方法はありますか? –