pub struct Instance {
pub id: String,
pub name: String,
pub ports: Vec<PortMapping>,
pub ips: Vec<String>,
pub metadata: KoiMetadata,
pub backend: String,
pub state: InstanceState,
pub discovered_at: DateTime<Utc>,
pub image: Option<String>,
}Expand description
A runtime-managed instance (container, VM, or service unit).
Fields§
§id: StringUnique identifier from the runtime (container ID, pod UID, unit name).
name: StringHuman-readable name (container name, pod name, unit description).
ports: Vec<PortMapping>Resolved host-side port mappings.
ips: Vec<String>IP addresses reachable from the host network (as strings for serde/OpenAPI).
metadata: KoiMetadataKoi-specific metadata extracted from labels/annotations/config.
backend: StringRuntime backend that discovered this instance.
state: InstanceStateCurrent lifecycle state.
discovered_at: DateTime<Utc>When the instance was first observed.
image: Option<String>Image or unit source (e.g., “grafana/grafana:latest”).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Instance
impl<'de> Deserialize<'de> for Instance
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Instance
impl RefUnwindSafe for Instance
impl Send for Instance
impl Sync for Instance
impl Unpin for Instance
impl UnsafeUnpin for Instance
impl UnwindSafe for Instance
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
Mutably borrows from an owned value. Read more