pub mod get;
pub mod list;
pub mod register;
pub mod zonefile;
use crate::commands::AsyncCliCommand;
#[derive(clap::Subcommand, Debug)]
pub enum CmdDomain {
List(self::list::CmdDomainList),
Get(self::get::CmdDomainGet),
GetZoneFile(self::zonefile::CmdZoneFileGet),
SyncZoneFile(self::zonefile::CmdZoneFileSync),
Register(self::register::CmdDomainRegister),
}
#[async_trait::async_trait]
impl AsyncCliCommand for CmdDomain {
type Output = ();
async fn run_async(self) -> Result<(), anyhow::Error> {
match self {
CmdDomain::List(cmd) => cmd.run_async().await,
CmdDomain::Get(cmd) => cmd.run_async().await,
CmdDomain::GetZoneFile(cmd) => cmd.run_async().await,
CmdDomain::SyncZoneFile(cmd) => cmd.run_async().await,
CmdDomain::Register(cmd) => cmd.run_async().await,
}
}
}