#[cfg(feature = "builders")]
use bon::Builder;
use serde::{Deserialize, Serialize};
#[cfg(feature = "catch-all-fields")]
use serde_json::Value;
#[non_exhaustive]
#[cfg_attr(feature = "builders", derive(Builder))]
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct InstanceStateChange {
#[serde(rename = "initiated_by")]
pub initiated_by: String,
pub hostname: String,
#[serde(rename = "stack-id")]
pub stack_id: String,
#[serde(rename = "layer-ids")]
pub layer_ids: Vec<String>,
#[serde(rename = "instance-id")]
pub instance_id: String,
#[serde(rename = "ec2-instance-id")]
pub ec2_instance_id: String,
pub status: String,
#[cfg(feature = "catch-all-fields")]
#[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
#[serde(flatten)]
#[cfg_attr(feature = "builders", builder(default))]
pub other: serde_json::Map<String, Value>,
}
#[non_exhaustive]
#[cfg_attr(feature = "builders", derive(Builder))]
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct CommandStateChange {
#[serde(rename = "command-id")]
pub command_id: String,
#[serde(rename = "instance-id")]
pub instance_id: String,
pub r#type: String,
pub status: String,
#[cfg(feature = "catch-all-fields")]
#[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
#[serde(flatten)]
#[cfg_attr(feature = "builders", builder(default))]
pub other: serde_json::Map<String, Value>,
}
#[non_exhaustive]
#[cfg_attr(feature = "builders", derive(Builder))]
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct DeploymentStateChange {
pub duration: i64,
#[serde(rename = "stack-id")]
pub stack_id: String,
#[serde(rename = "instance-ids")]
pub instance_ids: Vec<String>,
#[serde(rename = "deployment-id")]
pub deployment_id: String,
pub command: String,
pub status: String,
#[cfg(feature = "catch-all-fields")]
#[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
#[serde(flatten)]
#[cfg_attr(feature = "builders", builder(default))]
pub other: serde_json::Map<String, Value>,
}
#[non_exhaustive]
#[cfg_attr(feature = "builders", derive(Builder))]
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Alert {
#[serde(rename = "stack-id")]
pub stack_id: String,
#[serde(rename = "instance-id")]
pub instance_id: String,
pub r#type: String,
pub message: String,
#[cfg(feature = "catch-all-fields")]
#[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
#[serde(flatten)]
#[cfg_attr(feature = "builders", builder(default))]
pub other: serde_json::Map<String, Value>,
}