"""Entrypoint to using fargate_tools.""" import logging import subprocess import sys from pathlib import Path import typer logger: logging.Logger = logging.getLogger(__name__) app: typer.Typer = typer.Typer(no_args_is_help=True, help="fargate_tools cli CLI") def main() -> None: """fargate_tools cli command entrypoint.""" app() def run_script(script_name: str, args: list[str]) -> None: """Run a legacy Python script with provided args.""" script_path = Path(__file__).parent.parent / "cli" / script_name command = [sys.executable, str(script_path)] + args print(f"Running: {' '.join(command)}") subprocess.run(command, check=True) @app.command("deploy") def deploy(args: list[str] = typer.Argument(None, help="Arguments to pass to deploy.py")): """Run deploy.py with raw args.""" run_script("deploy.py", args or []) @app.command("create-task-definition") def create_task_definition(args: list[str] = typer.Argument(None, help="Arguments to pass to create_task_definition.py")): """Run create_task_definition.py with raw args.""" run_script("create_task_definition.py", args or []) @app.command("update-cloudwatch-event") def update_cloudwatch_event(args: list[str] = typer.Argument(None, help="Arguments to pass to update_cloudwatch_event.py")): """Run update_cloudwatch_event.py with raw args.""" run_script("update_cloudwatch_event.py", args or []) @app.command("run-fargate-task") def run_fargate_task(args: list[str] = typer.Argument(None, help="Arguments to pass to run_fargate_task.py")): """Run run_fargate_task.py with raw args.""" run_script("run_fargate_task.py", args or []) if __name__ == "__main__": main()