use std::path::PathBuf;
#[derive(clap::Args, Debug)]
pub struct LockArgs {
#[arg(short, long, default_value = "forjar.yaml")]
pub file: PathBuf,
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub env_file: Option<PathBuf>,
#[arg(short = 'w', long)]
pub workspace: Option<String>,
#[arg(long)]
pub verify: bool,
#[arg(long)]
pub dry_run: bool,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockPruneArgs {
#[arg(short, long, default_value = "forjar.yaml")]
pub file: PathBuf,
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub yes: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockInfoArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockCompactArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub yes: bool,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockGcArgs {
#[arg(short, long, default_value = "forjar.yaml")]
pub file: PathBuf,
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub yes: bool,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockExportArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long, default_value = "json")]
pub format: String,
#[arg(short, long)]
pub machine: Option<String>,
}
#[derive(clap::Args, Debug)]
pub struct LockVerifyArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockDiffArgs {
pub from: PathBuf,
pub to: PathBuf,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockMergeArgs {
pub from: PathBuf,
pub to: PathBuf,
#[arg(long, default_value = "state")]
pub output: PathBuf,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockRebaseArgs {
pub from: PathBuf,
#[arg(short, long, default_value = "forjar.yaml")]
pub file: PathBuf,
#[arg(long, default_value = "state")]
pub output: PathBuf,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockSignArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub key: String,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockVerifySigArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub key: String,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockCompactAllArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub yes: bool,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockAuditTrailArgs {
#[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 LockRotateKeysArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub old_key: String,
#[arg(long)]
pub new_key: String,
#[arg(long)]
pub json: bool,
}
#[derive(clap::Args, Debug)]
pub struct LockBackupArgs {
#[arg(long, default_value = "state")]
pub state_dir: PathBuf,
#[arg(long)]
pub json: bool,
}