Example using parsejson() and reporting array from dict
bundle agent main
{
vars:
# "users_string" string => execresult("/usr/bin/rest_getUsers.py", "noshell");
"users_string"
string => execresult(`/bin/echo '{"users":[{"username":"admin","name":"Administrator","email":"admin@example.com","password":null,"properties":[{"key":"console.refresh","value":"session-summary=90"},{"key":"console.rows_per_page","value":"session-summary=15,/session-summary.jsp=25,/server-properties.jsp=25,/pubsub-node-summary.jsp=25"}]},{"username":"op6-0","name":"","password":null,"properties":[]},{"username":"op6-1","name":"","password":null,"properties":[]},{"username":"op6-2","name":"","password":null,"properties":[]},{"username":"op6-3","name":"","password":null,"properties":[]},{"username":"op7-0","name":"","password":null,"properties":[]},{"username":"op7-1","name":"","password":null,"properties":[]},{"username":"op7-2","name":"","password":null,"properties":[]},{"username":"skillz","name":"","password":null,"properties":[]}]}'`, "noshell");
"users_data" data => parsejson($(users_string));
"user_idx" slist => getindices( "users_data[users]" );
reports:
"Users:";
"$(users_data[users][$(user_idx)][username])";
}
R: Users:
R: admin
R: op6-0
R: op6-1
R: op6-2
R: op6-3
R: op7-0
R: op7-1
R: op7-2
R: skillz
Variable name Variable value Meta tags
default:main.user_idx {"0","1","2","3","4","5","6","7","8"} source=promise
default:main.users_data {"users":[{"email":"admin@example.com","name":"Administrator","password":null,"properties":[{"key":"console.refresh","value":"session-summary=90"},{"key":"console.rows_per_page","value":"session-summary=15,/session-summary.jsp=25,/server-properties.jsp=25,/pubsub-node-summary.jsp=25"}],"username":"admin"},{"name":"","password":null,"properties":[],"username":"op6-0"},{"name":"","password":null,"properties":[],"username":"op6-1"},{"name":"","password":null,"properties":[],"username":"op6-2"},{"name":"","password":null,"properties":[],"username":"op6-3"},{"name":"","password":null,"properties":[],"username":"op7-0"},{"name":"","password":null,"properties":[],"username":"op7-1"},{"name":"","password":null,"properties":[],"username":"op7-2"},{"name":"","password":null,"properties":[],"username":"skillz"}]} source=promise
default:main.users_string {\"users\":[{\"username\":\"admin\",\"name\":\"Administrator\",\"email\":\"admin@example.com\",\"password\":null,\"properties\":[{\"key\":\"console.refresh\",\"value\":\"session-summary=90\"},{\"key\":\"console.rows_per_page\",\"value\":\"session-summary=15,/session-summary.jsp=25,/server-properties.jsp=25,/pubsub-node-summary.jsp=25\"}]},{\"username\":\"op6-0\",\"name\":\"\",\"password\":null,\"properties\":[]},{\"username\":\"op6-1\",\"name\":\"\",\"password\":null,\"properties\":[]},{\"username\":\"op6-2\",\"name\":\"\",\"password\":null,\"properties\":[]},{\"username\":\"op6-3\",\"name\":\"\",\"password\":null,\"properties\":[]},{\"username\":\"op7-0\",\"name\":\"\",\"password\":null,\"properties\":[]},{\"username\":\"op7-1\",\"name\":\"\",\"password\":null,\"properties\":[]},{\"username\":\"op7-2\",\"name\":\"\",\"password\":null,\"properties\":[]},{\"username\":\"skillz\",\"name\":\"\",\"password\":null,\"properties\":[]}]} source=promise