use serde::{Deserialize, Serialize};
use utoipa::IntoParams;
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct SessionQuery {
pub hsm_group: Option<String>,
pub xnames: Option<String>,
pub min_age: Option<String>,
pub max_age: Option<String>,
pub session_type: Option<String>,
pub status: Option<String>,
pub name: Option<String>,
pub limit: Option<u8>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct SessionLogsQuery {
#[serde(default)]
pub timestamps: bool,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct DeleteSessionQuery {
#[serde(default)]
pub dry_run: bool,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct ConfigurationQuery {
pub name: Option<String>,
pub pattern: Option<String>,
pub hsm_group: Option<String>,
pub limit: Option<u8>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct DeleteConfigurationsQuery {
pub pattern: Option<String>,
pub since: Option<String>,
pub until: Option<String>,
#[serde(default)]
pub dry_run: bool,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct ClusterQuery {
pub hsm_group: Option<String>,
pub status: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct GroupQuery {
pub name: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct DeleteGroupQuery {
#[serde(default)]
pub force: bool,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct HardwareClusterQuery {
pub hsm_group: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct HardwareNodesListQuery {
pub xnames: String,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct TemplateQuery {
pub name: Option<String>,
pub hsm_group: Option<String>,
pub limit: Option<u8>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct ImageQuery {
pub id: Option<String>,
pub pattern: Option<String>,
pub limit: Option<u8>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct DeleteImagesQuery {
pub ids: String,
#[serde(default)]
pub dry_run: bool,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct BootParametersQuery {
pub hsm_group: Option<String>,
pub nodes: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct KernelParametersQuery {
pub hsm_group: Option<String>,
pub nodes: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct NodesQuery {
pub xname: String,
pub include_siblings: Option<bool>,
pub status: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct RedfishEndpointsQuery {
pub id: Option<String>,
pub fqdn: Option<String>,
pub uuid: Option<String>,
pub macaddr: Option<String>,
pub ipaddress: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, IntoParams)]
pub struct ConsoleQuery {
#[serde(default = "default_cols")]
pub cols: u16,
#[serde(default = "default_rows")]
pub rows: u16,
}
fn default_cols() -> u16 {
80
}
fn default_rows() -> u16 {
24
}