//! Run command arguments
use clap::{Args, Subcommand};
/// Run subcommands
#[derive(Subcommand, Debug)]
pub enum RunCommand {
/// Run robot target (edge/on-robot nodes)
Robot(RunRobotArgs),
/// Run remote target (cloud/remote server nodes)
Remote(RunRemoteArgs),
}
/// Arguments for `run robot`. Always runs the release-profile binary, so there is no
/// `--release`/`-r` flag here.
#[derive(Args, Debug)]
pub struct RunRobotArgs {
/// Specific nodes to run (comma-separated, default: all target nodes)
#[arg(short, long)]
pub nodes: Option<String>,
}
/// Arguments for `run remote`. Always runs docker compose detached (background), so there is no
/// `--release`/`-r` flag here.
#[derive(Args, Debug)]
pub struct RunRemoteArgs {
/// Specific nodes to run (comma-separated, default: all target nodes)
#[arg(short, long)]
pub nodes: Option<String>,
}