use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InventoryOsInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub long_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub short_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub architecture: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kernel_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub osconfig_agent_version: Option<String>,
}
impl InventoryOsInfo {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
hostname: Some("test-hostname".into()),
long_name: Some("test-long_name".into()),
short_name: Some("test-short_name".into()),
version: Some("test-version".into()),
architecture: Some("test-architecture".into()),
kernel_version: Some("test-kernel_version".into()),
osconfig_agent_version: Some("test-osconfig_agent_version".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Inventory {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_info: Option<InventoryOsInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub update_time: Option<String>,
}
impl Inventory {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: "test-inventory".into(),
os_info: Some(InventoryOsInfo::fixture()),
update_time: Some("test-update_time".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PatchDeployment {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub create_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub update_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_execute_time: Option<String>,
}
impl PatchDeployment {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: "test-patch_deployment".into(),
description: Some("test-description".into()),
state: Some("test-state".into()),
create_time: Some("test-create_time".into()),
update_time: Some("test-update_time".into()),
last_execute_time: Some("test-last_execute_time".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ListPatchDeploymentsResponse {
#[serde(default)]
pub patch_deployments: Vec<PatchDeployment>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_page_token: Option<String>,
}
impl ListPatchDeploymentsResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
patch_deployments: vec![],
next_page_token: None,
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ListInventoriesResponse {
#[serde(default)]
pub inventories: Vec<Inventory>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_page_token: Option<String>,
}
impl ListInventoriesResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
inventories: vec![],
next_page_token: None,
}
}
}