#[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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more