pub struct Run {
pub playbook_id: PlaybookId,
pub status: RunStatus,
pub started_at: String,
pub finished_at: Option<String>,
pub exit_code: Option<i32>,
pub extra_vars: Option<Value>,
pub limit: Option<String>,
pub resources: Vec<String>,
pub host_stats: HashMap<String, HostStats>,
pub client_id: Option<String>,
pub claimed_by: Option<String>,
pub id: RunId,
}Fields§
§playbook_id: PlaybookId§status: RunStatus§started_at: String§finished_at: Option<String>§exit_code: Option<i32>§extra_vars: Option<Value>§limit: Option<String>§resources: Vec<String>Inventory groups this run targets (derived from limit at submission).
The lease queue serializes runs whose resources overlap. #[serde(default)]
keeps older persisted runs (written before the queue existed) loadable.
host_stats: HashMap<String, HostStats>§client_id: Option<String>Identity of the WS connection that launched (or recorded) this run —
actor attribution (a human via the UI, an agent via MCP/CLI). Stamped by the
RunPlaybook/RecordRun handlers from the command’s request context; the
#[myko_client_id] attribute only covers direct client SET events, which
never happen for runs (lv-67c8). #[serde(default)] keeps runs persisted
before this field existed loadable.
NOTE: live only — the SQLite projection does not yet store this column, so
it resets to None on restart. Durable persistence (schema column +
insert/select) is a tracked follow-up.
claimed_by: Option<String>The runner that holds this run for execution — set by ClaimRun (a CAS:
succeeds only while unclaimed), never by the runner watching alone. The
execution gate: a run is executed by exactly the runner that won the claim,
so a second runner cannot double-execute and a restarted runner does not
re-grab work it already spawned. #[serde(default)] keeps pre-claim runs
loadable; a terminal record never carries a claim.
id: RunIdTrait Implementations§
Source§impl AnyItem for Run
impl AnyItem for Run
Source§fn entity_type(&self) -> &'static str
fn entity_type(&self) -> &'static str
Source§fn server_owner(&self) -> Option<&str>
fn server_owner(&self) -> Option<&str>
#[server_owned] field value, if this item has one.Source§impl<'de> Deserialize<'de> for Run
impl<'de> Deserialize<'de> for Run
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>,
Source§impl Eventable for Run
impl Eventable for Run
Source§const ENTITY_NAME_STATIC: &'static str = "Run"
const ENTITY_NAME_STATIC: &'static str = "Run"
entity_type() from AnyItem for instance access).Source§fn entity_name_static() -> &'static str
fn entity_name_static() -> &'static str
Source§fn ingest_buffer_policy() -> IngestBufferPolicy
fn ingest_buffer_policy() -> IngestBufferPolicy
Source§impl Partial for Run
impl Partial for Run
Source§type Item = PartialRun
type Item = PartialRun
Some values.Source§fn apply_some(&mut self, partial: Self::Item) -> bool
fn apply_some(&mut self, partial: Self::Item) -> bool
Some values from Partial::Item to self, returning true when
updates were made, and false when nothing was applied. Read moreimpl StructuralPartialEq for Run
Source§impl TS for Run
impl TS for Run
Source§type WithoutGenerics = Run
type WithoutGenerics = Run
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = Run
type OptionInnerType = Run
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn decl_concrete() -> String
fn decl_concrete() -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
Auto Trait Implementations§
impl Freeze for Run
impl RefUnwindSafe for Run
impl Send for Run
impl Sync for Run
impl Unpin for Run
impl UnsafeUnpin for Run
impl UnwindSafe for Run
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
impl<T> CellValue for 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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more