Ansible:如何遍历字典

问题描述

这是输出。

ok: [vm1.nodekite.com] => {
"containerdict": {
    "webproxy": "customer1","egacustomer": "webproxy","platform": "opshop-app"
}

}

如何使用循环将字典的第一个键传递给组。

  - add_host:
      name: "{{ inventory_hostname }}"
      groups: "{{ item.key }}"
    loop: "{{ containerdict }}"

我的代码抛出错误

`"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'key'`

我需要如下输出:

    "add_host": {
    "groups": [
        "webproxy"
    ],"host_name": "vm1.nodekite.com",

任何帮助将不胜感激。

解决方法

我可以这样解决

- add_host:
    name: "{{ inventory_hostname }}"
    groups: "{{ item.key }}"
  loop: "{{ containerdict|dict2items }}"

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...