ã¯ããã«
Ansible ã§ã¯ãã³ãã¬ã¼ãã¨ã³ã¸ã³ã¨ã㦠Jinja2 ãå©ç¨ãã¦ãã¾ãã
Jinja2 æ¸å¼å
ã§ãPython ã® str.format()
ã®ãããªãã¨ãããæ¹æ³ã2ã¤ç´¹ä»ãã¾ãã
- æ¤è¨¼ç°å¢
- Ansible 2.9.1
- Python 3.6
æ¹æ³1: .format()
ã¡ã½ãããå©ç¨ãã
Python ã® str.format()
ãå¼ã³åºããããªæ¹æ³ã§ãã
- Playbook æç²
- name: bracket only debug: msg: "{{ 'Hello, {}!'.format('Kingyo') }}" # çµæ # "Hello, Kingyo!" - name: number debug: msg: "{{ 'Hello, {0}!'.format('Kingyo') }}" # çµæ # "Hello, Kingyo!" - name: keyword debug: msg: "{{ '{greeting}, {name}!'.format(greeting='Hello', name='Kingyo') }}" # çµæ # "Hello, Kingyo!"
æ¹æ³2: format
ãã£ã«ã¿ã¼ãå©ç¨ãã
Jinja2 ã®çµã¿è¾¼ã¿ãã£ã«ã¿ã¼ã® format
ãã£ã«ã¿ã¼ãå©ç¨ããæ¹æ³ã§ãã
- name: filter test debug: msg: "{{ 'Hello, %s' | format('Kingyo!') }}" # çµæ # "Hello, Kingyo!"
ãªããformat
ãã£ã«ã¿ã¼ã§ã¯ã以ä¸ã®ããã« {}
ã¯å©ç¨ã§ãã¾ããã
- name: filter test debug: msg: "{{ 'Hello, {}!' | format('Kingyo') }}" # çµæ # ã¨ã©ã¼
è£è¶³
ãããããAnsible ã® ãã£ã«ã¿ã¼ã®ããã¥ã¡ã³ãã«ã¯æ²è¼ããã¦ããªãæ¹æ³ã§ãããæ²è¼ããã¦ããªãã¦ã Jinja2 èªä½ã®æ©è½ã使ããã®ã§ããããªãã¨ãã§ãã¾ãããã¨ãããã¨ã§ãã ç¾å¨ Ansible ã® devel ãã¼ã¸ã§ã³ã®ããã¥ã¡ã³ãã«ã¯ä»¥ä¸ã®è¨è¼ãããã¾ãã
This page documents mainly Ansible-specific filters, but you can use any of the standard filters shipped with Jinja2 - see builtin filters in the official Jinja2 template documentation. You can also use Python methods to manipulate variables.