ansible - if else 和 if else 在 ansible 模板中不起作用
问题描述
我正在根据设置为真或假的变量检查推送数据。我的 json 文件变量文件有 {
"isfs" : True
}
并且我的模板(t2.j2)具有以下条件
{% if '{ isfs | d() | bool }' -%}
<perform operation >
{% else -%}
<perform 2 operation
每次执行时,<perform opertaion >
即使更改 json 文件的值"isfs": False
。
请提出一些建议。
我尝试了 d(true) 并且我尝试了 elif 条件对我没有任何帮助
解决方案
只需测试变量。这应该做你想做的。任何 True 或 true 值都应该返回 true。
{% if isfs %}
如果需要,请投射:
{% if isfs | bool %}
编辑:我想我误解了你正在评估一个包含'{“isfs”:True}'的json文件。您需要解析 json 文件以获取值。考虑到 json 文件内容在 json_file 变量中:
{% if json_file.isfs %}
推荐阅读
- forms - Microsoft Forms 中预填充的员工评估
- java - 无法消费消息Kafka Spring Boot Docker Compose
- loops - Binance api“行包含空字节”实时数据错误
- python-3.x - 为什么 Python3 比 Python 慢?
- flutter - 在 Flutter web 中处理溢出
- c# - WPF 表单崩溃
- ruby - Ruby——使用现有数组中的自定义键和值创建哈希
- kubernetes - Kubeflow 管道无法创建容器
- python - 通过直方图计算平均强度
- python - 将 CSV 文件上传到 Google 云端硬盘