use std::path::PathBuf;
#[derive(clap::Args, Debug)]
pub struct UndoArgs {
#[arg(short, long, default_value = "forjar.yaml")]
pub file: PathBuf,
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long, default_value = "1")]
pub generations: u32,
#[arg(short, long)]
pub machine: Option<String>,
#[arg(long)]
pub dry_run: bool,
#[arg(long)]
pub resume: bool,
#[arg(long)]
pub yes: bool,
}
#[derive(clap::Args, Debug)]
pub struct UndoDestroyArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(short, long)]
pub machine: Option<String>,
#[arg(long)]
pub force: bool,
#[arg(long)]
pub dry_run: bool,
}
#[derive(clap::Args, Debug)]
pub struct StateListArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(short, long)]
pub machine: Option<String>,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct StateMvArgs {
pub old_id: String,
pub new_id: String,
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(short, long)]
pub machine: Option<String>,
}
#[derive(clap::Args, Debug)]
pub struct StateRmArgs {
pub resource_id: String,
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(short, long)]
pub machine: Option<String>,
#[arg(long)]
pub force: bool,
}
#[derive(clap::Args, Debug)]
pub struct ResealArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long, conflicts_with = "all")]
pub file: Option<PathBuf>,
#[arg(long, conflicts_with = "file")]
pub all: bool,
#[arg(short, long, conflicts_with_all = ["file", "all"])]
pub machine: Option<String>,
#[arg(long)]
pub dry_run: bool,
}
#[derive(clap::Args, Debug)]
pub struct StateReconstructArgs {
#[arg(short, long)]
pub machine: String,
#[arg(long)]
pub at: String,
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub json: bool,
}