【问题标题】:How to append an item index in list in jinja ansible如何在jinja ansible的列表中附加项目索引
【发布时间】:2021-03-21 19:46:37
【问题描述】:

这是我正在处理的示例:

{% set server_ip = [] %}
{% for ip in host_ip  %}
{% set _ = server_ip.append('data'+loop.index ) }}
{% endfor %}
{{ server_ip}}

我希望输出为 [data0 , data1 , data3] 以防我的主机 ip 有 3 个项目

【问题讨论】:

  • 当您执行该模板时,什么没有按预期工作?您采取了哪个步骤进行调试?
  • 对不起,我的帖子不完整,我只能用这个 .append('data') 附加,所以我得到了一个名为 data 的项目列表。但我希望结果是与当前索引连接的数据。这不适用于我发布的示例。但是现在,我尝试使用 .append(''.join('data', loop.index|string)) 并且它正在工作

标签: ansible jinja2 ansible-2.x ansible-facts ansible-template


【解决方案1】:

问:"如果 host_ip 有 3 个项目,则输出为 [data0 , data1 , data2]。"

A:任务完成任务

    - set_fact:
        server_ip: "{{ ['data']|
                       product(range(host_ip|length)|list)|
                       map('join')|list }}"

给予

  server_ip:
  - data0
  - data1
  - data2

【讨论】:

    猜你喜欢
    • 2021-06-25
    • 2021-10-02
    • 2015-11-29
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2021-12-12
    • 2013-12-24
    相关资源
    最近更新 更多