Ansible Playbook で文字列分割・結合・置換をする方法、他 Playbook に関するメモ

2022-08-03

Ansible の Playbook について、調べる機会があったので詰まったことをメモしておくところです。

Ansible

https://www.ansible.com/

Red Hat が開発するオープンソースの構成管理ツールです。
サーバを立ち上げる際、あらかじめ用意した設定ファイルに従って、ソフトウェアのインストールや設定を自動的に実行する事が出来ます。
特に大規模なコンピュータ・クラスターを構築する時に、時間の短縮やミスを削減できます。
構成管理に加え、オーケストレーションやソフトウェアデプロイメントの機能をもっています。

Ansible における一連の処理は Playbook という単位にまとめられ、Playbook はYAML形式で記述されます。

Jinja2

https://jinja.palletsprojects.com/

Ansible に最初から入っているテンプレートエンジン。
Playbook に Jinja2 を組み合わせることで、条件分岐や反復構造などを用いた動的、効率的な設定ファイルを作ることができます。

idiom

検索

ex. 文字列から正規表現で検索

string is match('^test')

文字列結合

ex. 文字列を改行区切りで結合

string | join('\n')

文字列分割

ex. 文字列を改行区切りで分割

string.split('\n')

文字列置換

ex. \rを空文字に置換

string | regex_replace('\r', '')