pub mod browse;
pub mod publisher;
use crate::cli::azure::vm::browse::AzureVmBrowseArgs;
use crate::cli::command::azure::vm::publisher::AzureVmPublisherArgs;
use clap::Args;
use clap::Subcommand;
use eyre::Result;
#[derive(Subcommand, Debug, Clone)]
pub enum AzureVmCommand {
Publisher(AzureVmPublisherArgs),
Browse(AzureVmBrowseArgs),
}
#[derive(Args, Debug, Clone)]
pub struct AzureVmArgs {
#[command(subcommand)]
pub command: AzureVmCommand,
}
impl AzureVmArgs {
pub async fn invoke(self) -> Result<()> {
match self.command {
AzureVmCommand::Publisher(args) => args.invoke().await,
AzureVmCommand::Browse(args) => args.invoke().await,
}
}
}