wasmer_cli/commands/app/regions/
list.rs1use crate::{commands::AsyncCliCommand, config::WasmerEnv, opts::ListFormatOpts};
2use std::io::IsTerminal as _;
3
4#[derive(clap::Parser, Debug)]
6pub struct CmdAppRegionsList {
7 #[clap(flatten)]
9 pub env: WasmerEnv,
10
11 #[clap(long)]
13 pub quiet: bool,
14
15 #[clap(long, default_value_t = !std::io::stdin().is_terminal())]
17 pub non_interactive: bool,
18
19 #[clap(flatten)]
20 pub fmt: ListFormatOpts,
21}
22
23#[async_trait::async_trait]
24impl AsyncCliCommand for CmdAppRegionsList {
25 type Output = ();
26
27 async fn run_async(self) -> Result<Self::Output, anyhow::Error> {
28 let client = self.env.client()?;
29 let regions = wasmer_backend_api::query::get_all_app_regions(&client).await?;
30
31 println!("{}", self.fmt.format.render(regions.as_slice()));
32
33 Ok(())
34 }
35}