I am trying to grab the value green from the below JSON data dictionary.
The API endpoint located at http://localhost:9200/api/status give the below data:
{
   "name":"prod01",
   "uuid":"3430c40-e786-4325-bc48-e0a096956000",
   "version":{
      "number":"7.17.0",
      "build_hash":"60a9838d21b6420bbdb5a4d07099111b74c68ceb",
      "build_number":46534,
      "build_snapshot":false
   },
   "status":{
      "overall":{
         "since":"2023-02-13T22:47:05.381Z",
         "state":"green",
         "title":"Green",
         "nickname":"Looking good",
         "icon":"success",
         "uiColor":"secondary"
      },
      "statuses":[
         {
            "id":"core:elasticsearch@7.17.0",
            "message":"Elasticsearch is available",
            "since":"2023-02-13T22:47:05.381Z",
            "state":"green",
            "icon":"success",
            "uiColor":"secondary"
         },
         {
            "id":"core:savedObjects@7.17.0",
            "message":"SavedObjects service has completed migrations and is available",
            "since":"2023-02-13T22:47:05.381Z",
            "state":"green",
            "icon":"success",
            "uiColor":"secondary"
         }
      ]
   }
}
And the test.sls file doing the job is:
{% set json_data = salt.cp.get_url('http://localhost:9200/api/status', dest=None) | load_json %}
{% for key, value in json_data.items() %}
{% if value['state'] == 'green' %}
{{ key }}: {{ value }} (found)
{% else %}
{{ key }}: {{ value }}
{% endif %}
{% endfor %}
Executing it, I get the error:
Rendering SLS 'base:svr.salt.dev.test' failed: Jinja variable 'str object' has no attribute 'state'
 
    