gpt4 book ai didi

jinja2 - Ansible 使用带有 blockinfile 的模板

转载 作者:行者123 更新时间:2023-12-02 06:31:14 26 4
gpt4 key购买 nike

blockinfile 似乎可以使用 {{ 模板进行基本替换。该文档没有提及任何模板功能。

但是,似乎不可能制作完整的模板,例如循环模板。此操作失败,并出现模板化字符串时出现模板错误:意外的“%”

  blockinfile:
dest: /etc/haproxy/haproxy.cfg
marker: "# {mark} ANSIBLE CONFIG certs"
block: |
{% if certs %}
bind *:443 ssl crt {% for cert in certs %}{{cert}} {{% endfor %}
{% endif %}

这似乎是一个基本用例,我可能想对配置文件进行一些一次性编辑,但仍然需要模板的强大功能。

请注意,使用 with_items 并不能真正实现我想要的效果,因为我只需要 1 行。

最佳答案

我认为问题在于模板中有一个额外的 {

      bind *:443 ssl crt {% for cert in certs %}{{cert}} {{% endfor %}

应该是

      bind *:443 ssl crt {% for cert in certs %}{{cert}} {% endfor %}

关于jinja2 - Ansible 使用带有 blockinfile 的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36891271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com