use std::collections::HashMap;
use serde::Deserialize;
use wasmcloud_control_interface::{Host, HostInventory, Link};
use wadm_types::api::ModelSummary;
use wadm_types::validation::ValidationFailure;
#[derive(Debug, Deserialize)]
pub struct StartCommandOutput {
pub component_id: Option<String>,
pub component_ref: Option<String>,
pub provider_id: Option<String>,
pub provider_ref: Option<String>,
pub host_id: Option<String>,
pub success: bool,
}
#[derive(Debug, Deserialize)]
pub struct StopCommandOutput {
pub host_id: Option<String>,
pub result: String,
pub component_ref: Option<String>,
pub component_id: Option<String>,
pub provider_id: Option<String>,
pub provider_ref: Option<String>,
pub success: bool,
}
#[derive(Debug, Deserialize)]
pub struct LinkQueryCommandOutput {
pub links: Vec<Link>,
pub success: bool,
}
#[derive(Debug, Clone, Deserialize)]
pub struct GetHostsCommandOutput {
pub success: bool,
pub hosts: Vec<Host>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct GetHostInventoriesCommandOutput {
pub success: bool,
pub inventories: Vec<HostInventory>,
}
#[derive(Debug, Deserialize)]
pub struct GetClaimsCommandOutput {
pub claims: Vec<HashMap<String, String>>,
pub success: bool,
}
#[derive(Debug, Deserialize)]
pub struct DevCommandOutput {
pub success: bool,
}
#[derive(Debug, Deserialize)]
pub struct ScaleCommandOutput {
pub success: bool,
pub result: String,
}
#[derive(Debug, Deserialize)]
pub struct CallCommandOutput {
pub success: bool,
pub response: serde_json::Value,
}
#[derive(Debug, Deserialize)]
pub struct PullCommandOutput {
pub success: bool,
pub file: String,
}
#[derive(Debug, Deserialize)]
pub struct LabelHostCommandOutput {
pub success: bool,
pub deleted: bool,
pub processed: Vec<(String, String)>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct UpCommandOutput {
pub success: bool,
pub kill_cmd: String,
pub wasmcloud_log: String,
pub nats_url: String,
pub deployed_wadm_manifest_path: Option<String>,
}
#[derive(Debug, Deserialize)]
pub struct AppValidateOutput {
pub valid: bool,
pub warnings: Vec<ValidationFailure>,
pub errors: Vec<ValidationFailure>,
}
#[derive(Debug, Deserialize)]
pub struct AppDeployCommandOutput {
pub success: bool,
pub deployed: bool,
pub model_name: String,
pub model_version: String,
}
#[derive(Debug, Deserialize)]
pub struct AppListCommandOutput {
pub success: bool,
pub applications: Vec<ModelSummary>,
}
#[derive(Debug, Deserialize)]
pub struct AppGetCommandOutput {
pub success: bool,
pub applications: Vec<ModelSummary>,
}
#[derive(Debug, Deserialize)]
pub struct AppUndeployCommandOutput {
pub success: bool,
}
#[derive(Debug, Deserialize)]
pub struct AppDeleteCommandOutput {
pub success: bool,
}