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
如何实现以下条件,在 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