pub struct NodeCatalogEntry {
pub name: String,
pub recommended: bool,
pub targets: Vec<String>,
pub version: Option<String>,
pub capabilities: Vec<Capability>,
}Fields§
§name: String§recommended: bool§targets: Vec<String>Which mecha10.json targets entries (dev/simulation/robot/remote) this node
should be placed into - the live replacement for the retired
mecha10_cli_core::component_catalog::types::NODE_TARGETS table. serde(default) so a
response from a mecha10-api build that predates this field (or any other
differently-shaped response) still deserializes instead of hard-failing - the field is
expected to always be present on a current mecha10-api, this is just defensive.
version: Option<String>This node’s own latest published version, resolved live by mecha10-api. None if
nothing has been published yet.
capabilities: Vec<Capability>This node’s declared Capability set, sourced from its own configs/config.json’s
"capabilities" field in mecha10-nodes and republished here by mecha10-api.
serde(default) so a response from a mecha10-api build that predates this field still
deserializes instead of hard-failing, same rationale as targets. This is the write
path’s source of capabilities for mecha10 init/mecha10 init --update
(handlers::init::create_mecha10_json_from_template/handle_update_existing), the same
way targets already is - not a read-back of a locally pulled config.json, which is
best-effort and never guaranteed to exist or be fresh. mecha10 add still reads the
locally pulled config.json directly instead (see
handlers::add::add_node_to_json_config); that caller is out of scope for this field’s
write-path migration.
Trait Implementations§
Source§impl Clone for NodeCatalogEntry
impl Clone for NodeCatalogEntry
Source§impl Debug for NodeCatalogEntry
impl Debug for NodeCatalogEntry
Source§impl<'de> Deserialize<'de> for NodeCatalogEntry
impl<'de> Deserialize<'de> for NodeCatalogEntry
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>,
Auto Trait Implementations§
impl Freeze for NodeCatalogEntry
impl RefUnwindSafe for NodeCatalogEntry
impl Send for NodeCatalogEntry
impl Sync for NodeCatalogEntry
impl Unpin for NodeCatalogEntry
impl UnsafeUnpin for NodeCatalogEntry
impl UnwindSafe for NodeCatalogEntry
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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