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' }}"

相关内容