use camino::Utf8PathBuf;
use clap::Subcommand;
#[derive(Debug, clap::Args)]
pub struct ReconcileArgs {
#[command(subcommand)]
pub command: ReconcileCommand,
}
#[derive(Debug, Subcommand)]
pub enum ReconcileCommand {
Plan(PlanArgs),
Show(ShowArgs),
Apply(ApplyArgs),
}
#[derive(Debug, clap::Args)]
pub struct ShowArgs {
pub plan_id: String,
#[arg(long)]
pub json: bool,
}
#[derive(Debug, clap::Args)]
pub struct ApplyArgs {
pub plan_id: String,
#[arg(long, default_value = ".")]
pub target: Utf8PathBuf,
#[arg(long)]
pub json: bool,
}
#[derive(Debug, clap::Args)]
pub struct PlanArgs {
#[arg(long, default_value = ".")]
pub target: Utf8PathBuf,
#[arg(long, default_value = "embedded")]
pub to: String,
#[arg(long)]
pub offline: bool,
#[arg(long = "set", value_name = "DECISION=ANSWER")]
pub set: Vec<String>,
#[arg(long, value_name = "PATH")]
pub reserve: Vec<String>,
#[arg(long)]
pub json: bool,
}