在Ansible模板中使用变量

巧克力

我需要通过jinja模板创建文件,但遇到一些问题。

我的变量

my:
  acl:
        - name: test
          allow:
            - 0.0.0.0
          deny:
            - 1.1.1.1
        - name: china
          allow:
            - 1.2.3.4
          deny:
            - 10.10.10.10

我的任务:

- name: Create acl file
  template:
    force: yes
    src: acl.conf.j2
    dest: "/etc/nginx/conf.d/{{ item.name }}.conf"
  become: yes
  with_items:
    - "{{ my.acl }}"

我的模板

{% for allow in my.acl %}
allow {{allow.allow}};
{% endfor %}
{% for deny in my.acl %}
deny {{deny.deny}};
{% endfor %}

结果china.conf

allow ['0.0.0.0'];
allow ['1.2.3.4'];
deny ['1.1.1.1'];
deny ['10.10.10.10'];

结果test.conf

allow ['0.0.0.0'];
allow ['1.2.3.4'];
deny ['1.1.1.1'];
deny ['10.10.10.10'];

我只需要在china文件中仅在对象china中定义的ip地址,而无需使用['']

我怎样才能做到这一点?

弗拉基米尔·博特卡

修复模板

{% for allow in item.allow %}
allow {{ allow }};
{% endfor %}
{% for deny in item.deny %}
deny {{ deny }};
{% endfor %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在模板中使用Ansible库存变量

来自分类Dev

在 Ansible 中,如何在模板的清单文件中使用变量

来自分类Dev

Ansible 在变量中使用变量

来自分类Dev

在Ansible中使用Jinja模板需要帮助

来自分类Dev

Ansible剧本var无法在模板中使用

来自分类Dev

流星/翡翠:在模板ID中使用变量

来自分类Dev

Django在模板中使用模型变量

来自分类Dev

在Django模板中使用javascript变量

来自分类Dev

在模板中使用Page $ data变量

来自分类Dev

在Django模板中使用javascript变量

来自分类Dev

在复杂列表变量中使用模板

来自分类Dev

在CSS网格模板中使用Sass变量

来自分类Dev

在无胖框架模板中使用变量

来自分类Dev

如何在bean模板中使用变量

来自分类Dev

流星:在子模板中使用变量

来自分类Dev

如何在模板文字中使用变量?

来自分类Dev

Ansible:在标准循环中使用变量

来自分类Dev

在任务条件中使用ansible变量

来自分类Dev

Ansible变量模板问题

来自分类Dev

如何使用ansible遍历包含模板变量的数组?

来自分类Dev

我可以在Ansible模板中为主机使用变量吗?

来自分类Dev

可变模板中的Ansible使用任务返回变量

来自分类Dev

如何使用ansible循环遍历包含模板变量的数组?

来自分类Dev

Ansible jinja2 模板使用变量进行查找

来自分类Dev

需要在Ansible中使用主机变量(ansible引擎2.8和ansible塔3.5)

来自分类Dev

在模板中的Symfony转换中使用Twig变量

来自分类Dev

在控制器angularjs中使用全局模板变量

来自分类Dev

在模板函数中使用未声明的变量合法吗?

来自分类Dev

DJANGO-在模板变量中使用forloop.counter