use crate::prelude::AsyncRunnable;
use async_trait::async_trait;
use clap::Parser;
mod commit;
mod destroy;
mod extract;
mod ls;
#[derive(Debug, Parser)]
pub enum Zfs {
Commit(commit::ZfsCommit),
Extract(extract::ZfsExtract),
Destroy(destroy::ZfsDestroy),
Ls(ls::ZfsLs),
}
#[async_trait]
impl AsyncRunnable for Zfs {
async fn run(&self) {
use Zfs::*;
match self {
Commit(c) => c.run().await,
Extract(e) => e.run().await,
Destroy(d) => d.run().await,
Ls(l) => l.run().await,
}
}
}