#[non_exhaustive]pub struct HostStateMetadata {
pub host_id: Uuid,
pub hostname: String,
pub friendly_name: String,
pub os_type: Option<String>,
pub os_version: Option<String>,
pub architecture: Option<String>,
pub tags: Vec<String>,
pub agent_version: Option<String>,
pub agent_last_seen_at: Option<String>,
}Expand description
Per-host metadata published to MQTT for MQTT-browser visibility and Home Assistant.
Included in SoftwareStatesPayload. All fields are sourced exclusively
from the shared DB — safe for multi-controller deployments.
Intentionally excludes ip_address (network topology risk) and agent_online
(must come from the event-driven HostConnectivityUpdatedPayload).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.host_id: UuidHost UUID.
hostname: StringHostname as reported by the agent.
friendly_name: StringUser-defined display name.
os_type: Option<String>Operating system type (e.g. "linux", "macos"). null when unknown.
os_version: Option<String>Operating system version (e.g. "Ubuntu 24.04 LTS"). null when unknown.
architecture: Option<String>CPU architecture (e.g. "x86_64", "aarch64"). null when unknown.
Organisational tag names assigned to this host (e.g. ["production", "web-server"]).
agent_version: Option<String>Agent binary version string (e.g. "0.2.1"). null when never connected.
Sourced from services.client_version for the newest approved, non-deactivated
agent linked to this host.
agent_last_seen_at: Option<String>ISO 8601 timestamp of when the agent last sent a message.
Sourced from services.last_seen_at. null when never seen.
Implementations§
Trait Implementations§
Source§impl Clone for HostStateMetadata
impl Clone for HostStateMetadata
Source§fn clone(&self) -> HostStateMetadata
fn clone(&self) -> HostStateMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HostStateMetadata
impl Debug for HostStateMetadata
Source§impl<'de> Deserialize<'de> for HostStateMetadata
impl<'de> Deserialize<'de> for HostStateMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for HostStateMetadata
Source§impl PartialEq for HostStateMetadata
impl PartialEq for HostStateMetadata
Source§impl Serialize for HostStateMetadata
impl Serialize for HostStateMetadata
impl StructuralPartialEq for HostStateMetadata
Source§impl WireValidate for HostStateMetadata
impl WireValidate for HostStateMetadata
Source§fn wire_validate(&self) -> Result<(), WireValidationError>
fn wire_validate(&self) -> Result<(), WireValidationError>
Auto Trait Implementations§
impl Freeze for HostStateMetadata
impl RefUnwindSafe for HostStateMetadata
impl Send for HostStateMetadata
impl Sync for HostStateMetadata
impl Unpin for HostStateMetadata
impl UnsafeUnpin for HostStateMetadata
impl UnwindSafe for HostStateMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.