Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible代码,用于读取json文件以创建输出_Json_Ansible - Fatal编程技术网

Ansible代码,用于读取json文件以创建输出

Ansible代码,用于读取json文件以创建输出,json,ansible,Json,Ansible,我是ansible的新手,需要了解以下问题陈述。请帮我查一下密码 以下是名为problem.json的json文件的内容:- { "items": [ { "type": "node1', "id": "11", "node": "server1", "state": "finished", "output": "output1" }

我是ansible的新手,需要了解以下问题陈述。请帮我查一下密码

以下是名为problem.json的json文件的内容:-

{
    "items": [
        {
            "type": "node1',
            "id": "11",
            "node": "server1",
            "state": "finished",
            "output": "output1"
        }
    ]

    "items": [
        {
            "type": "node2',
            "id": "22",
            "node": "server2",
            "state": "error",
            "output": "output2"
        }
    ]
}
我们需要读取json文件,并使用ansible playbook为每个项目(一个json中有几个项目)创建如下输出:-

检查状态是否已完成,然后显示以下输出:-

[
    {
        "node": "server1",
        "state": "finished",
        "output": "output1"
    }

    {
        "node": "serverx",
        "state": "finished",
        "output": "outputx"
    }

]
如果状态为错误,则显示节点名称和错误消息。

播放

- hosts: localhost
  tasks:
    - include_vars:
        file: problem.json 
        name: test_var
    - debug:
        var: test_var
(在修复YAML语法后)只提供一个
,因为在读取文件时,第二个
项将覆盖第一个

"test_var": {
    "items": [
        {
            "id": "22", 
            "node": "server2", 
            "output": "output2", 
            "state": "error", 
            "type": "node2"
        }
    ]
}
给定有效数据。例如

$ cat problem.json

    "items": [
        {
            "type": "node1",
            "id": "11",
            "node": "server1",
            "state": "finished",
            "output": "output1"
        },
        {
            "type": "node2",
            "id": "22",
            "node": "server2",
            "state": "error",
            "output": "output2"
        }
    ]
该剧使用json_查询来处理
finished
error
状态

如果状态为“错误”,则显示节点名称和错误消息

给予

- hosts: localhost
  tasks:
    - include_vars:
        file: problem.json 
        name: test_var
    - debug:
        var: test_var
(在修复YAML语法后)只提供一个
,因为在读取文件时,第二个
项将覆盖第一个

"test_var": {
    "items": [
        {
            "id": "22", 
            "node": "server2", 
            "output": "output2", 
            "state": "error", 
            "type": "node2"
        }
    ]
}
给定有效数据。例如

$ cat problem.json

    "items": [
        {
            "type": "node1",
            "id": "11",
            "node": "server1",
            "state": "finished",
            "output": "output1"
        },
        {
            "type": "node2",
            "id": "22",
            "node": "server2",
            "state": "error",
            "output": "output2"
        }
    ]
该剧使用json_查询来处理
finished
error
状态

如果状态为“错误”,则显示节点名称和错误消息

给予

修复YAML语法(不平衡引号
“node1”
…)并对其进行测试,例如修复YAML语法(不平衡引号
“node1”
…),并对其进行测试。