pub struct ProjectionPlacementSpec {
pub root: Option<String>,
pub dir_template: Option<String>,
}Expand description
GH #27 (follow-up to #23) — Blueprint-declared override of the
mlua-swarm core crate’s placement resolver
(mlua_swarm::core::projection_placement::ProjectionPlacement), which
decides where a Step’s materialized OUTPUT file (submit-time sink,
server read-back, and spawn-time ctx_projection pointer — the “3
path” convergence point) is written on disk. Both fields are
independently optional and validated (dir_template) at
Compiler::compile time — see that resolver’s from_spec doc for the
full rejection rules.
Fields§
§root: Option<String>Which of the spawn-time work_dir / project_root to prefer as
the materialize root, falling back to the other when the
preferred one is absent. "work_dir" (default, current
byte-compat behavior) | "project_root". None = the default
("work_dir").
dir_template: Option<String>Target directory template, relative to the resolved root, with a
{task_id} placeholder substituted at materialize time. None =
the default ("workspace/tasks/{task_id}/ctx", current byte-compat
behavior). Must be non-empty, contain the {task_id} placeholder,
stay relative, and not contain any .. path segment — rejected at
Compiler::compile time otherwise.
Trait Implementations§
Source§impl Clone for ProjectionPlacementSpec
impl Clone for ProjectionPlacementSpec
Source§fn clone(&self) -> ProjectionPlacementSpec
fn clone(&self) -> ProjectionPlacementSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProjectionPlacementSpec
impl Debug for ProjectionPlacementSpec
Source§impl Default for ProjectionPlacementSpec
impl Default for ProjectionPlacementSpec
Source§fn default() -> ProjectionPlacementSpec
fn default() -> ProjectionPlacementSpec
Source§impl<'de> Deserialize<'de> for ProjectionPlacementSpec
impl<'de> Deserialize<'de> for ProjectionPlacementSpec
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ProjectionPlacementSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ProjectionPlacementSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ProjectionPlacementSpec
impl JsonSchema for ProjectionPlacementSpec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for ProjectionPlacementSpec
impl PartialEq for ProjectionPlacementSpec
Source§impl Serialize for ProjectionPlacementSpec
impl Serialize for ProjectionPlacementSpec
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ProjectionPlacementSpec
Auto Trait Implementations§
impl Freeze for ProjectionPlacementSpec
impl RefUnwindSafe for ProjectionPlacementSpec
impl Send for ProjectionPlacementSpec
impl Sync for ProjectionPlacementSpec
impl Unpin for ProjectionPlacementSpec
impl UnsafeUnpin for ProjectionPlacementSpec
impl UnwindSafe for ProjectionPlacementSpec
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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