Ansible 根据另一个变量值设置字典值

Ansible set dictionary value based on another variable value

如何实现以下条件,在 Ansible 中设置字典 config 的值?
字典 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

Ansible 这可能吗?

您可以使用 jinja2 中的 if else 执行如下操作:

  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:ternary sample