use clap::{Args, Subcommand};
use std::path::PathBuf;
#[derive(Subcommand)]
pub enum ConfigCommand {
Push(#[command(flatten)] ConfigPushArgs),
Pull(#[command(flatten)] ConfigPullArgs),
List(#[command(flatten)] ConfigListArgs),
Show,
Validate(#[command(flatten)] ConfigValidateArgs),
Edit,
Sync,
}
#[derive(Args)]
pub struct ConfigValidateArgs {
#[arg(long)]
pub path: Option<PathBuf>,
}
#[derive(Args)]
pub struct ConfigPushArgs {
#[arg(short, long)]
pub path: Option<PathBuf>,
#[arg(short, long)]
pub robot_id: Option<String>,
#[arg(long)]
pub dry_run: bool,
}
#[derive(Args)]
pub struct ConfigPullArgs {
#[arg(short, long)]
pub output: Option<PathBuf>,
#[arg(short, long)]
pub robot_id: Option<String>,
#[arg(long)]
pub force: bool,
}
#[derive(Args)]
pub struct ConfigListArgs {
#[arg(short, long)]
pub robot_id: Option<String>,
#[arg(short, long)]
pub verbose: bool,
}