pub struct HostInfo {
pub machine_id: String,
pub os_type: Option<String>,
pub os_version: Option<String>,
pub architecture: Option<String>,
pub hostname: Option<String>,
pub ip_address: Option<String>,
pub agent_host_id: Option<Uuid>,
pub features: Option<Vec<String>>,
}Expand description
Information about the host machine running the agent.
Fields§
§machine_id: StringPersistent machine identifier (e.g. /etc/machine-id on Linux, IOPlatformUUID on macOS).
Falls back to "unknown" if the identifier cannot be read.
os_type: Option<String>Operating system type (e.g. “linux”, “macos”).
os_version: Option<String>Operating system version (e.g. “Ubuntu 24.04 LTS”).
architecture: Option<String>CPU architecture (e.g. “x86_64”, “aarch64”).
hostname: Option<String>Hostname reported by the agent/host machine.
ip_address: Option<String>Network address of the host (SSH target address for SSH agent hosts).
agent_host_id: Option<Uuid>Agent-local UUID assigned to this host at bootstrap time.
When present, the controller uses this as hosts.id when creating a
new row, ensuring agent and controller share the same UUID. This is
required for plugin FK operations (e.g. Proxmox host mapping) that
reference hosts.id before the controller has generated its own UUID.
features: Option<Vec<String>>Agent-probed host features (e.g. ["posix_shell", "privilege_escalation", "systemd"]).
None for legacy agents that predate feature reporting. Uses Vec<String>
(not BTreeSet<HostFeature>) on the wire for forward-compatibility: if a
newer agent reports a feature the controller doesn’t know, it is stored
losslessly and ignored by HostCapabilities parsing.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for HostInfo
impl<'de> Deserialize<'de> for HostInfo
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 HostInfo
impl StructuralPartialEq for HostInfo
Source§impl WireValidate for HostInfo
impl WireValidate for HostInfo
Source§fn wire_validate(&self) -> Result<(), WireValidationError>
fn wire_validate(&self) -> Result<(), WireValidationError>
Auto Trait Implementations§
impl Freeze for HostInfo
impl RefUnwindSafe for HostInfo
impl Send for HostInfo
impl Sync for HostInfo
impl Unpin for HostInfo
impl UnsafeUnpin for HostInfo
impl UnwindSafe for HostInfo
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.