palladium_cli/commands/
status.rs1use clap::Args;
2use schemars::JsonSchema;
3use serde::Serialize;
4
5use crate::client::ControlPlaneClient;
6use crate::client::Endpoint;
7use crate::output;
8use crate::CliResult;
9
10#[derive(Args, Debug, Serialize, JsonSchema)]
11#[serde(rename_all = "kebab-case")]
12pub struct StatusArgs {
13 #[arg(long)]
15 pub json: bool,
16}
17
18pub fn run(args: &StatusArgs, endpoint: &Endpoint) -> CliResult {
19 let mut client = ControlPlaneClient::connect_endpoint(endpoint)?;
20 let result = client.call("engine.status", serde_json::Value::Null)?;
21 if args.json {
22 println!("{}", serde_json::to_string_pretty(&result)?);
23 } else {
24 print!("{}", output::format_status(&result));
25 }
26 Ok(())
27}