Ansible with_subelements

2024-01-11

我很难理解 ansible with_subelements 语法的逻辑,with_subelements 到底做了什么?我在这里查看了有关 with_subelements 的 ansible 文档https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#with-subelements https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#with-subelements并没有多大帮助。我还在博客上看到了一本带有 with_subelements 示例的剧本

---
- hosts: cent
  vars:
    users:
     - name: jagadish
       comments:
         - 'Jagadish is Good'

     - name: srini
       comments:
         - 'Srini is Bad' 

  tasks:
   - name: User Creation
     shell: useradd -c "{{ item.1 }}" "{{ item.0.name }}"
     with_subelements:
         - users
         - comments

item.1 和 item.0 指的是什么?


这真是一个糟糕的例子subelements查找有效。 (并且还具有旧的、不受支持的语法)。

看看这个:

---
- hosts: localhost
  gather_facts: no
  vars:
    families:
      - surname: Smith
        children:
          - name: Mike
            age: 4
          - name: Kate
            age: 7
      - surname: Sanders
        children:
          - name: Pete
            age: 12
          - name: Sara
            age: 17

  tasks:
    - name: List children
      debug:
        msg: "Family={{ item.0.surname }} Child={{ item.1.name }} Age={{ item.1.age }}"
      with_subelements:
        - "{{ families }}"
        - children

Task 列出孩子就像一个嵌套循环families列表(外循环)及以上children每个族中的子元素(内循环)。
所以你应该提供一个字典列表作为第一个参数subelements以及您想要在每个其他项目中迭代的子元素的名称。

这边走item.0(我的例子中的家庭)是一个外部项目,item.1(我的例子中的孩子)是一个内部项目。

在 Ansible 文档示例中subelements用于循环用户(外部)并添加多个公钥(内部)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible with_subelements 的相关文章

随机推荐

  • 在vim中显示函数参数

    vim 有没有办法获得带有函数参数的弹出窗口 就像在视觉工作室 光滑编辑中一样 例如当我输入 function name 时 vim会打开一个弹出窗口 就像做时一样 ctrl n在新版本中 并向我显示函数参数以及我当前正在输入的其中之一 p
  • 获取视频的当前时间(播放器 - Swift)

    我使用设置了一个视频播放器Player https github com piemonte Player 使用 AVFoundation 我正在尝试访问和操作视频的当前时间 但是 该库仅提供视频的持续时间 而不提供当前时间 我正在调整Pla
  • 如何将 kubernetes 事件从 GKE 集群传播到谷歌云日志

    有没有办法将所有 kubernetes 事件传播到 google 云日志 例如 Pod 创建 删除或活动探测失败 我知道我可以在控制台中使用 kubectl get events 但是 我想将这些事件与其他 Pod 级别日志一起保留在云日志
  • 将 SNS 消息发布到 HTTPS Api 网关端点以触发 Lambda 函数

    我想从 Account1 region1 触发 Account2 region2 中的 Lambda 函数 因此 我使用订阅 HTTPS API 网关端点 POST 方法 的 SNS 主题 这将触发 Lambda 问题是我不知道如何抓取到达
  • 单击更改谷歌地图多边形颜色/填充

    我有以下代码已传递给我并创建多边形
  • 在 Eclipse 中,模块路径和类路径有什么区别?

    在Eclipse中 模块路径和类路径有什么区别 我应该使用哪一个来添加JAR文件lib folder 为什么JRE系统库会出现在模块路径中 模块体系对代码主要有以下影响 一个包只能从一个模块访问 嵌套包被视为单独的 所以即使包java ut
  • 单击 ng-repeat 表中的 。量角器E2E-测试角度

    我有这张桌子 table class table thead tr th class col sm 5 Actions th th class col sm 5 Title th th class col sm 2 Saved th tr
  • 编写键值存储

    我希望编写一个键 值存储 可能用Python 主要只是为了体验 因为我认为这是一个非常有用的产品 我有一些问题 一般来说 键 值对通常如何存储在内存和磁盘上 如何将存储在磁盘上的内容加载回内存 键 值存储是否同时将所有键 值对保存在内存中
  • 了解 PHP 中的输入转义

    一直让我困惑的一件事是输入转义以及是否受到保护以免受 SQL 注入等攻击 假设我有一个表单 它使用 HTTP POST 将数据发送到 PHP 文件 我在输入字段中输入以下内容并提交表单 Hello said Jimmy O Toole 如果
  • 通过 KeyChain 保存和检索值

    我正在尝试存储一个整数并使用 KeyChain 检索它 这就是我保存它的方式 func SaveNumberOfImagesTaken let key IMAGE TAKEN var taken 10 let data NSKeyedArc
  • AngularJS md-tabs 的更改索引根本没有效果

    在我的 Angular 应用程序中 我有一个 md tabs 其 md selected 指令绑定到我的控制器中的属性 我想将当前选项卡更改为索引由 ng click 模板中其他位置调用的函数设置的选项卡 我是这样做的 div div
  • 使用 Retrofit 2 从响应 JSON 获取单个 JSON 属性值

    我正在使用 Retrofit 库 撰写本文时版本为 2 0 2 我正在对一项响应大型 JSON 对象的服务进行 GET 调用 但我只对其中的一个键 值对感兴趣 我怎样才能得到这个而不是编写一个与 JSON 响应匹配的全新 POJO 类 例子
  • GC 调优 - 防止 Full GC

    我试图避免 Full GC 来自下面的 gc log 示例 在生产中的 Tomcat 中运行 Grails 应用程序 关于如何更好地配置 GC 有什么建议吗 14359 317 完整 GC 14359 317 CMS 3453285K gt
  • GCM 与 PHP(谷歌云消息传递)

    Update GCM https developers google com cloud messaging 已弃用 请使用FCM https firebase google com docs cloud messaging 我怎样才能整合
  • 从 C#.NET 调用非托管 DLL 所需的教程

    我有一个来自供应商的 DLL 我需要从 C 调用它 我知道 C 数据类与 C 数据类型不直接兼容 因此 鉴于我有一个接收数据并返回 字符串 的函数 像这样 string answer CreateCode2 int string1 uint
  • 为 Info.plist 提供自定义变量

    在 Xcode 中 您可以编辑应用程序的 Info plist 并且您将看到许多动态插入到 plist 中的变量 在下面的屏幕截图中 您可以看到例如 EXECUTABLE NAME 产品捆绑包标识符 产品名称 我的问题 如何创建自己的变量以
  • git-cat-文件输出

    当我在提交上运行 git cat file batch 时 它输出 缺少 但提交确实存在 为什么会发生这种情况 当使用 t 开关运行 cat file 时 它 只输出 commit 这正是我所期望的 谁能解释一下吗 我是 git 新手 谢谢
  • 如何将 html 文本框值传递给 javascript 函数

    我有一个 HTML 文本框 用户将在其中输入一些我想要传递给 JavaScript 函数的字符串
  • 如何构建 VB6 控制台应用程序

    我做了一些谷歌搜索来尝试回答这个问题 但即使在那之后我也不太清楚一些事情 是否可以从 VB6 创建控制台应用程序 我有一个 VB6 应用程序 它不显示窗口 我一直以为它是一个控制台应用程序 但是 我希望能够从其中使用 Windows API
  • Ansible with_subelements

    我很难理解 ansible with subelements 语法的逻辑 with subelements 到底做了什么 我在这里查看了有关 with subelements 的 ansible 文档https docs ansible c