diff --git a/changelogs/fragments/10075-keycloak_user_rolemapping-diff.yml b/changelogs/fragments/10075-keycloak_user_rolemapping-diff.yml new file mode 100644 index 0000000000..926552ef9d --- /dev/null +++ b/changelogs/fragments/10075-keycloak_user_rolemapping-diff.yml @@ -0,0 +1,2 @@ +bugfixes: + - "keycloak_user_rolemapping - fix ``--diff`` mode (https://github.com/ansible-collections/community.general/issues/10067, https://github.com/ansible-collections/community.general/pull/10075)." diff --git a/plugins/modules/keycloak_user_rolemapping.py b/plugins/modules/keycloak_user_rolemapping.py index c7af801706..c15bf09410 100644 --- a/plugins/modules/keycloak_user_rolemapping.py +++ b/plugins/modules/keycloak_user_rolemapping.py @@ -350,7 +350,7 @@ def main(): # Assign roles result['changed'] = True if module._diff: - result['diff'] = dict(before=assigned_roles_before, after=update_roles) + result['diff'] = dict(before={"roles": assigned_roles_before}, after={"roles": update_roles}) if module.check_mode: module.exit_json(**result) kc.add_user_rolemapping(uid=uid, cid=cid, role_rep=update_roles, realm=realm) @@ -365,7 +365,7 @@ def main(): # Remove mapping of role result['changed'] = True if module._diff: - result['diff'] = dict(before=assigned_roles_before, after=update_roles) + result['diff'] = dict(before={"roles": assigned_roles_before}, after={"roles": update_roles}) if module.check_mode: module.exit_json(**result) kc.delete_user_rolemapping(uid=uid, cid=cid, role_rep=update_roles, realm=realm)