pub mod check;
pub mod generate;
pub mod proxy;
use anyhow::Result;
use clap::Subcommand;
#[derive(Subcommand)]
pub enum HelmCmd {
Generate(generate::GenerateArgs),
Check(check::CheckArgs),
Upgrade(proxy::UpgradeArgs),
Template(proxy::SimpleArgs),
Diff(proxy::SimpleArgs),
Status(proxy::SimpleArgs),
Rollback(proxy::SimpleArgs),
History(proxy::SimpleArgs),
Uninstall(proxy::SimpleArgs),
#[command(external_subcommand)]
Raw(Vec<String>),
}
pub fn run(cmd: HelmCmd) -> Result<()> {
match cmd {
HelmCmd::Generate(a) => generate::run(a),
HelmCmd::Check(a) => check::run(a),
HelmCmd::Upgrade(a) => proxy::run_upgrade(a),
HelmCmd::Template(a) => proxy::run_template(a),
HelmCmd::Diff(a) => proxy::run_diff(a),
HelmCmd::Status(a) => proxy::run_status(a),
HelmCmd::Rollback(a) => proxy::run_rollback(a),
HelmCmd::History(a) => proxy::run_history(a),
HelmCmd::Uninstall(a) => proxy::run_uninstall(a),
HelmCmd::Raw(args) => proxy::run_raw(args),
}
}