Would like to be able to check contents of json.items..labels[] and json.items..labels[].value from json below:
I’m unsure how to get the contents of the generator from ansible / jinja2.
- name: Test json
debug: “msg={{ json.items|map(attribute=‘metadata’) }}”
$ ansible-playbook -i inv/dev k8s-redis.yml --extra-vars “@test-var.json”
Gives me:
TASK [k8s-redis : Test json] ***************************************************
ok: [aus-ared-dev-00] => {
“msg”: “<generator object do_map at 0x224de60>”
}
This is the json:
{“json”: {
“apiVersion”: “v1”,
“items”: [
{
“metadata”: {
“creationTimestamp”: “2016-03-22T18:18:48Z”,
“labels”: {
“kubernetes.io/hostname”: “aus-akn-dev-00.q2dc.local”
},
“name”: “aus-akn-dev-00.q2dc.local”,
“resourceVersion”: “557645”,
“selfLink”: “/api/v1/nodes/aus-akn-dev-00.q2dc.local”,
“uid”: “85b7ae17-f05a-11e5-b8a3-005056bc5b54”
}
},
{
“metadata”: {
“creationTimestamp”: “2016-03-23T19:49:22Z”,
“labels”: {
“kubernetes.io/hostname”: “aus-akn-dev-01.q2dc.local”
},
“name”: “aus-akn-dev-01.q2dc.local”,
“resourceVersion”: “557644”,
“selfLink”: “/api/v1/nodes/aus-akn-dev-01.q2dc.local”,
“uid”: “57306016-f130-11e5-975f-005056bc5b54”
}
}
]
}}
I’ve tried |to_json, |from_json, |list, combinations of the preceding, and even building custom filters to try to work with the generator object directly.