Ansible jinja2テンプレートのif条件

Ansible jinja2テンプレートのif条件

"host_fqdn"変数でキーワードを検索してください。値にキーワード「lab.com」が含まれている場合は、その値を「host_fqdn」に直接保存する必要があります。そうでない場合は、キーワード「lab.com」を値に追加して変数「host_fqdn」に保存する必要があります。

vars:
    host_fqdn:  server
    host_fqdn: |
    {%  if  'lab.com' in {{  host_fqdn }} %}
        {%  host_fqdn = "{{ host_fqdn }}" %}
    {% else %}
        {%  host_fqdn = "{{ host_fqdn }}.lab.com" %}
    {%  endif %}

答え1

varsでは実行できませんが、次のようにset_factを介して実行できます。

  - set_fact:
          host_fqdn:  "{{ host_fqdn if 'lab.com' in host_fqdn else host_fqdn  ~'.lab.com' }}"

関連情報