【问题标题】:Ansible with_items vs loopAnsible with_items vs循环
【发布时间】:2018-05-21 21:45:49
【问题描述】:

在 ansilbe 中使用 with_items 与 loops 有什么区别?

【问题讨论】:

    标签: ansible


    【解决方案1】:

    更新:最新的Documentation 列出了如下差异

    • with_ 关键字依赖于查找插件 - 甚至项目都是查找。
    • loop 关键字相当于with_list,是简单循环的最佳选择。
    • loop 关键字不接受字符串作为输入,请参阅确保循环的列表输入:查询与查找。
    • 一般来说,从 with_X 迁移到循环中介绍的任何 with_* 使用都可以更新为使用循环。
    • 将 with_items 更改为循环时要小心,因为 with_items 执行了隐式的单级展平。您可能需要使用 使用循环 flatten(1) 以匹配确切的结果。

    旧答案

    根据docs,

    2.5之前的Ansible主要使用with_关键字来创建循环,loop关键字基本类似于with_list。

    所以基本上它们几乎相同,只有较新的版本在其语法中使用loop。从 2.7.12 版开始,两者都按预期工作,但鼓励使用 loop 关键字以实现未来兼容性。

    【讨论】:

      【解决方案2】:

      它们是不同的。将 with_items 更改为循环时要小心,因为 with_items 执行了隐式的单级展平。您可能需要使用 flatten with loop 来匹配确切的结果。查看官方文档示例。

      Ansible Loops

      【讨论】:

        猜你喜欢
        • 2019-12-27
        • 2019-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多