Tom, thanks for that reply, but it is way beyond my current experience.
but looking at your reply & what i am looking for it doesn't seem to match. Under 'products' you can see there are several "groups" using the same keys but potentially different values, with nothing unique that i can use to show the difference between them, other the the values for each key. I want to understand if I can 'sort' through the response body, find the required 'name' & associate the correct 'status.state' to it. Your example only shows one 'group' with clear associations, my response body has multiple similar keys but different values. Thanks for the response though, but I can't see how it would help me. On Wednesday, 9 September 2020 at 08:14:32 UTC+1 [email protected] wrote: > HI > > from programming view, you should decode json string to a data structure > (hash), then access to the hash. > > my test: > > $ cat a.json > > {"a":123,"b":456,"c":789} > > > $ perl -MJSON -le 'open > FD,"a.json";$str=<FD>;$hash=JSON->new->decode($str);print $hash->{c}' > > 789 > > > Thanks. > > > > > > On Wed, Sep 9, 2020 at 2:59 PM [email protected] <[email protected]> > wrote: > >> Morning all, >> >> have had this question from a co-worker & not managed to work out how do >> do it. Any help is greatly appreciated as I can see this coming up several >> times in the future as well. >> >> We have the following response body >> >> { >> >> "products": [ >> >> { >> >> "chartName": "action-orchestrator", >> >> "installTime": 1599482114, >> >> "modifiedTime": 1599482114, >> >> "name": "Action Orchestrator", >> >> "revision": 1, >> >> "status": { >> >> "message": "Product is ready", >> >> "progressPercentage": 100, >> >> "state": "running" >> >> }, >> >> "version": [ >> >> "5.2.0" >> >> ] >> >> }, >> >> { >> >> "chartName": "cloudcenter-shared", >> >> "installTime": 1599483017, >> >> "modifiedTime": 1599483017, >> >> "name": "cloudcenter-shared", >> >> "revision": 1, >> >> "status": { >> >> "message": "Product is ready", >> >> "progressPercentage": 100, >> >> "state": "running" >> >> }, >> >> "version": [ >> >> "5.4.0" >> >> ] >> >> }, >> >> { >> >> "chartName": "common-framework", >> >> "installTime": 1599469174, >> >> "modifiedTime": 1599469174, >> >> "name": "Suite Admin", >> >> "revision": 1, >> >> "status": { >> >> "message": "Product is ready", >> >> "progressPercentage": 100, >> >> "state": "running" >> >> }, >> >> "version": [ >> >> "5.2.0" >> >> ] >> >> }, >> >> { >> >> "chartName": "workload-manager", >> >> "installTime": 1599483064, >> >> "modifiedTime": 1599483064, >> >> "name": "Workload Manager", >> >> "revision": 1, >> >> "status": { >> >> "message": "Waiting for product to be ready", >> >> "progressPercentage": 67, >> >> "state": "creating" >> >> }, >> >> "version": [ >> >> "5.4.0" >> >> ] >> >> } >> >> ], >> >> "status": { >> >> "message": "Product install success", >> >> "progressPercentage": 100, >> >> "state": "running" >> >> } >> >> } >> >> >> >> What we need to do is search through 'products', & check that the >> 'status.state' is 'running' for a specific 'name', in our case 'Workload >> Manager' >> >> I can't work out how to provide the search, with the expected result for >> the co-wokrer to use with an 'until' module. >> >> The idea is to only execute the next task, when the 'status.state' >> changes to 'running'. >> >> >> Hope this makes sense! >> >> >> Regards >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ansible Project" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/14ccb917-6782-48c5-9d9d-89dafb336d47n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/ansible-project/14ccb917-6782-48c5-9d9d-89dafb336d47n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/c41801fe-83b3-4f23-9cda-6578c1559321n%40googlegroups.com.
