You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible Jinja2模板问题:移除列表元素后空行且保持YAML格式

解决Ansible模板中to_nice_yaml导致的空行及缩进错误问题

问题场景

使用to_nice_yaml过滤器生成YAML列表后,输出中出现多余空行;尝试用{{ ... -}}抑制换行时,又导致后续resources节点缩进错误。

解决方案1:添加trim过滤器移除末尾换行

修改template.j2模板,在to_nice_yaml后添加trim过滤器,移除生成内容首尾的空白(包括末尾换行),再进行缩进:

storage:
  accessModes:
    {{ modes | to_nice_yaml | trim | indent(4) }}
  resources:
    requests:
      storage: 5Gi

解决方案2:改用yaml过滤器生成紧凑输出

yaml过滤器生成的YAML不会自动在末尾添加换行,替代to_nice_yaml后可直接避免空行问题:

storage:
  accessModes:
    {{ modes | yaml | indent(4) }}
  resources:
    requests:
      storage: 5Gi

验证效果

执行Playbook后,输出将不再有空行且缩进保持正确:

ok: [localhost] =>
  msg: |-
    storage:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 5Gi

内容的提问来源于stack exchange,提问作者Floren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:07:04