Ansibleと変数と時々jinja2
はじめに
Ansibleのtemplatesで使用される、jinja2はAnsibleのYAMLファイル内でも使用できます。
例
jinja2の表記を使用したい箇所を{{ }}
で囲むだけです。
また、別の変数も{{ }}
内で参照することができます。
playbook.yml
- hosts: localhost
connection: local
vars:
file_path: /path/to/file
file_name: "{{ file_path.split('/')[-1] }}"
dir_name: "{{ file_path.split('/')[-2] }}"
tasks:
- name: "print file_path"
debug:
msg: var={{ file_path }} # var=/path/to/file
- name: "print file_name"
debug:
msg: var={{ file_name }} # var=file
- name: "print dir_name"
debug:
msg: var={{ dir_name }} # var=to
利用できる場所に指定はありません。
例えば、変数定義であればvars/main.yml
, group_vars/
, host_vars/
などで利用可能です。
終わりに
上記の使い方はちょっとアレですが。。。
変数定義で上手に利用すると変更があった際に、修正箇所が少なくできます。
Author And Source
この問題について(Ansibleと変数と時々jinja2), 我々は、より多くの情報をここで見つけました https://qiita.com/777nancy/items/3d4cce9d142db2d873d8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .