def run_module()

in src/modules/log_parser.py [0:0]


def run_module() -> None:
    """
    Entry point of the script.
    Sets up and runs the log parsing module with the specified arguments.
    """
    module_args = dict(
        start_time=dict(type="str", required=False),
        end_time=dict(type="str", required=False),
        log_file=dict(type="str", required=False, default="/var/log/messages"),
        keywords=dict(type="list", required=False, default=[]),
        ansible_os_family=dict(type="str", required=True),
        function=dict(type="str", required=True, choices=["parse_logs", "merge_logs"]),
        logs=dict(type="list", required=False, default=[]),
    )

    module = AnsibleModule(argument_spec=module_args, supports_check_mode=True)

    parser = LogParser(
        start_time=module.params.get("start_time"),
        end_time=module.params.get("end_time"),
        log_file=module.params.get("log_file"),
        ansible_os_family=module.params["ansible_os_family"],
        logs=module.params.get("logs"),
    )
    if module.params["function"] == "parse_logs":
        parser.parse_logs()
    elif module.params["function"] == "merge_logs":
        parser.merge_logs()

    result = parser.get_result()
    module.exit_json(**result)