Необязательная необязательная переменная в файле конфигурации - PullRequest
0 голосов
/ 26 сентября 2019

В файле конфигурации службы, которую я хочу настроить, у меня есть необязательный параметр, который можно полностью пропустить.Язык шаблонов для моего файла конфигурации: Jinja2.

Я хочу иметь возможность определять переменную в моем файле Ansible vars.yml:

optional_service_parameter: "value"

Всякий раз, когда переменная определена вvars.yml Я хочу использовать его в конфигурации службы:

config:
  parameter1: {{ parameter_var_1 }} 
  parameter2: {{ parameter_var_2 }}
  optional_parameter: {{ optional_service_parameter }}

Когда переменная optional_service_parameter не установлена ​​в vars.yml, optional_service_parameter следует опустить в моем файле конфигурации службы.Каков наилучший способ добиться этого?

1 Ответ

0 голосов
/ 26 сентября 2019

Вы можете попробовать использовать условие when с lookup переменной.Ниже приведен пример.Я использовал set_facts с условием when, чтобы сделать его простым.Если переменная найдена, она напечатает сообщение, иначе не распечатает.Надеюсь, это поможет.

- hosts: all
  gather_facts: no
  tasks:
    - name: testing
      debug:
        msg: "{{ optional_service_parameter }}"
      when: lookup('vars', 'optional_service_parameter', errors='ignore', default=false)
...