def METHOD_NAME(connection, module):
    name = module.params.get("name")
    group = module.params.get("group")
    path = module.params.get("path")
    params = dict()
    iam_users = []
    if not group and not path:
        if name:
            params["UserName"] = name
        try:
            iam_users.append(connection.get_user(**params)["User"])
        except is_boto3_error_code("NoSuchEntity"):
            pass
        except (ClientError, BotoCoreError) as e:  # pylint: disable=duplicate-except
            module.fail_json_aws(e, msg=f"Couldn't get IAM user info for user {name}")
    if group:
        params["GroupName"] = group
        try:
            iam_users = list_iam_users_with_backoff(connection, "get_group", **params)["Users"]
        except is_boto3_error_code("NoSuchEntity"):
            pass
        except (ClientError, BotoCoreError) as e:  # pylint: disable=duplicate-except
            module.fail_json_aws(e, msg=f"Couldn't get IAM user info for group {group}")
        if name:
            iam_users = [user for user in iam_users if user["UserName"] == name]
    if path and not group:
        params["PathPrefix"] = path
        try:
            iam_users = list_iam_users_with_backoff(connection, "list_users", **params)["Users"]
        except is_boto3_error_code("NoSuchEntity"):
            pass
        except (ClientError, BotoCoreError) as e:  # pylint: disable=duplicate-except
            module.fail_json_aws(e, msg=f"Couldn't get IAM user info for path {path}")
        if name:
            iam_users = [user for user in iam_users if user["UserName"] == name]
    module.exit_json(iam_users=[describe_iam_user(user) for user in iam_users])