diff --git a/awx_collection/plugins/modules/tower_user.py b/awx_collection/plugins/modules/tower_user.py index 15c41cb081..19cf00fa1f 100644 --- a/awx_collection/plugins/modules/tower_user.py +++ b/awx_collection/plugins/modules/tower_user.py @@ -134,11 +134,9 @@ def main(): # Attempt to look up the related items the user specified (these will fail the module if not found) # Attempt to look up an existing item based on the provided data - existing_item = module.get_one('users', **{ - 'data': { - 'username': username, - } - }) + existing_item = module.get_one('users', name_or_id=username) + # If we got an item back make sure the name field reflects the actual name (incase we were passed an ID) + username = existing_item['username'] if (existing_item) else username if state == 'absent': # If the state was absent we can let the module delete it if needed, the module will handle exiting from this diff --git a/awx_collection/tests/integration/targets/tower_user/tasks/main.yml b/awx_collection/tests/integration/targets/tower_user/tasks/main.yml index f04f1a8327..79077479df 100644 --- a/awx_collection/tests/integration/targets/tower_user/tasks/main.yml +++ b/awx_collection/tests/integration/targets/tower_user/tasks/main.yml @@ -15,9 +15,9 @@ that: - "result is changed" -- name: Change a User +- name: Change a User by ID tower_user: - username: "{{ username }}" + username: "{{ result.id }}" last_name: User email: joe@example.org state: present