Indempotency goal hard to reach, can this be done with dict, lists, nested lists?

Hi I came into a problem while I was trying to make this role work.

  • name: add db
    mysql_db: name={{ item.user }} state=present
    with_items: users
  • name: add user
    mysql_user: name={{ item.user }} host=localhost password={{ mysql_pass }}
    state=present priv={{ item.db }}.*:ALL
    with_items: users

How can I create variable list so I can have multiple databases for single user and setup db permissions on coresponding databases for specific user?

eg.