import sys import argparse from playbook import Playbook def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description="Playbook Taskrunner") # Flag for the playbook file _ = parser.add_argument( "-p", "--playbook", nargs='+', default=[], type=str, required=True, help="Path to the playbook yaml file" ) return parser.parse_args() def main(): args: argparse.Namespace = parse_args() for arg in args.playbook: newPlay: Playbook try: newPlay = Playbook.from_yaml(arg) except Exception as e: print(f"Failed to load playbook: {e}") sys.exit(1) print(newPlay.view_playbook()) log = newPlay.run_play() print(log.model_dump_json()) sys.exit(0) if __name__ == "__main__": main()