地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

Ansible よく使うフィルタ

覚えられるか!ってことでメモ。よく使うフィルタたち

{{ val|default('aaa') }} - val が未定義の場合に aaa を採用。
{{ val|default('aaa', true) }} - val が false として評価される値の場合('' 等)に aaa を採用。
{{ val|escape }} - <>&"' を HTML 用にエスケープ。
{{ "%s - %s"|format("Hello?", "Foo!") }} - フォーマット。
{{ val|trim }} - トリム。
- shell: echo {{ string_value | quote }}
{{ (name == "John") | ternary('Mr','Ms') }} - true なら左。
{{ list | join(" ") }}
{{ path | basename }} - ファイル名
{{ path | dirname }} - ディレクトリ名
{{ path | realpath }}
{{ path | relpath('/etc') }}
when: some_string_value | bool - bool にキャスト
when: url | match("http://example.com/users/.*/resources/.*") - 正規表現でえ完全一致
when: url | search("/users/.*/resources/.*") - 正規表現で中間一致
{{ 'foobar' | regex_replace('^f.*o(.*)$', '\\1') }} - 正規表現で置き換え

参考はこのあたり

docs.ansible.com