I would like to disable some server and I need to change status inside dictionary list.
here is example
{
"pool_members_list": [
{
"addressDiscovery": "static",
"adminState": "enable",
"serverAddresses": [
"10.50.100.48"
],
"servicePort": 80,
"shareNodes": true
},
{
"addressDiscovery": "static",
"adminState": "enable",
"serverAddresses": [
"10.50.100.38"
],
"servicePort": 80,
"shareNodes": true
}
]
}
I need to change "adminState": "disable" if the server IP is 10.50.100.48 I have tried this but does not work .
- name: disabled pool members
set_fact:
pool_members_changed: "{{ item | combine ( {'adminState': 'disabled'} ) }}"
loop: "{{ pool_members_list }}"
when: item['serverAddresses'][0] == '10.50.100.48'
The result should be this
[
{
"addressDiscovery": "static",
"adminState": "disabled",
"serverAddresses": [
"10.50.100.48"
],
"servicePort": 80,
"shareNodes": true
},
{
"addressDiscovery": "static",
"adminState": "enable",
"serverAddresses": [
"10.50.100.38"
],
"servicePort": 80,
"shareNodes": true
}
]