mecha10-cli 0.6.3

Mecha10 CLI tool
Documentation
//! 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>,
}