ansible - 配置文件中的 Ansible 可选变量
问题描述
在我要配置的服务的配置文件中,我有一个可以完全省略的可选参数。我的配置文件的模板语言是 Jinja2。
我想要的是能够在我的 Ansiblevars.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
应该在我的服务配置文件中省略。实现这一目标的最佳方法是什么?
解决方案
您可以尝试使用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)
推荐阅读
- networking - Router Has 2 IP's?
- pandas - Crosstab multiple aggfunc has '_dummy_' error
- python - 如何使用 Python 修改 tsv 文件列
- asp.net - Why does my ASPX app keep logging the user out?
- angular - Highchart graphs embedded in ngfor table disappear when a row filter is applied
- c - AVR Timer and Hardware interrupts
- cucumber - cucumber example seems adding more items
- matlab - How to plot family of functions in MATLAB?
- javascript - 自定义 Leaflet 图层控件
- php - 如果 santance 不能与 MYSQL UPDATE 一起使用,则到期日期