Ansible устанавливает значение словаря на основе другого значения переменной

Как я могу реализовать условие ниже, чтобы установить значение словаря config в Ansible?
Словарь config и переменная turn_on_encryption указаны в одном и том же файле vars.

если turn_on_encryption == true, то:

  config:
    path: /var/www/html
    cert_path: /path/to/certificate
    protocol: https

еще:

  config:
    path: /var/www/html
    cert_path: ""
    protocol: http

Is this possible with Ansible ?
Введение в Ansible Roles
Введение в Ansible Roles
Ansible - это отличный инструмент управления конфигурацией, который можно использовать для автоматизации настройки или развертывания на большом...
1
0
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать что-то вроде ниже, используя if else в jinja2:

  vars:
    config:
      path: /var/www/html
      cert_path: "{{ '/path/to/certificate' if turn_on_encryption else '' }}"
      protocol: "{{ 'htpps' if turn_on_encryption else 'http' }}"

вы также можете использовать троичный фильтр jinja2: троичная выборка

Другие вопросы по теме