def main()

in template/v2/dirs/etc/sagemaker-ui/workflows/workflow_client.py [0:0]


def main():
    parser = argparse.ArgumentParser(description="Workflow local runner client")
    subparsers = parser.add_subparsers(dest="command", help="Available commands")

    update_status_parser = subparsers.add_parser("update-local-runner-status", help="Update status of local runner")
    update_status_parser.add_argument("--status", type=str, required=True, help="Status to update")
    update_status_parser.add_argument("--detailed-status", type=str, required=False, help="Detailed status text")

    start_parser = subparsers.add_parser("start-local-runner", help="Start local runner")

    stop_parser = subparsers.add_parser("stop-local-runner", help="Stop local runner")

    check_blueprint_parser = subparsers.add_parser("check-blueprint", help="Check Workflows blueprint")
    check_blueprint_parser.add_argument(
        "--domain-id", type=str, required=True, help="Datazone Domain ID for blueprint check"
    )
    check_blueprint_parser.add_argument("--region", type=str, required=True, help="Datazone Domain region")
    check_blueprint_parser.add_argument(
        "--endpoint", type=str, required=True, help="Datazone endpoint for blueprint check"
    )

    args = parser.parse_args()

    # create the request session
    session = requests.Session()
    # populate XSRF cookie
    session.get(JUPYTERLAB_URL)

    kwargs = vars(args) | {"session": session}

    if args.command in COMMAND_REGISTRY:
        COMMAND_REGISTRY[args.command](**kwargs)
    else:
        parser.print_help()