wasmer_cli/commands/domain/
get.rs

1use crate::{commands::AsyncCliCommand, config::WasmerEnv, opts::ItemTableFormatOpts};
2
3/// Show a domain
4#[derive(clap::Parser, Debug)]
5pub struct CmdDomainGet {
6    #[clap(flatten)]
7    fmt: ItemTableFormatOpts,
8
9    #[clap(flatten)]
10    env: WasmerEnv,
11
12    /// Name of the domain.
13    name: String,
14}
15
16#[async_trait::async_trait]
17impl AsyncCliCommand for CmdDomainGet {
18    type Output = ();
19
20    async fn run_async(self) -> Result<(), anyhow::Error> {
21        let client = self.env.client()?;
22        if let Some(domain) =
23            wasmer_backend_api::query::get_domain_with_records(&client, self.name).await?
24        {
25            println!("{}", self.fmt.format.render(&domain));
26        } else {
27            anyhow::bail!("Domain not found");
28        }
29        Ok(())
30    }
31}