Im trying to eliminate an item from a list of dicts, the one that have "No results were found":
"validar": [
{
"LPARNAME": [
"No results were found."
]
},
{
"LPARNAME": [
"server1",
"server2",
"server4"
]
},
{
"LPARNAME": [
"server3",
"server5",
"server7"
]
}
]
}
Im trying using rejectattr but is not working:
- name: clean
set_fact:
validar_: "{{ validar | rejectattr('LPARNAME', 'match', 'No results were found.') | list }}"
Also im trying to split stdout_lines of:
"output": [
{
"item": {
"Name": "CONT1"
},
"stdout_lines": [
"server1,1.05",
"server2,0.25"
]
},
{
"item": {
"Name": "CONT2"
},
"stdout_lines": [
"server3,0.05",
"server4,0.35"
]
},
{
"item": {
"Name": "PRD1"
},
"stdout_lines": [
"server4,1.15"
]
}
]
}
I got an error: {"msg": "'list object' has no attribute 'stdout_lines'"}
- name: list
set_fact:
lpar_proc: "{{ lpar_proc | default([]) + [{ 'lpar': item.[0] , 'proc': item[1] }]"
with_items: [ "{{ output.stdout_lines.split(',')[0]}}", "{{ output.stdout_lines.split(',')[1]" ]
the output expected:
Name: CONT1
vm: server1
proc: 1.05
Name: CONT1
vm: server2
proc: 0.25
... etc