pub enum SubprocessMode {
Command {
command: String,
args: Vec<String>,
},
Script {
runtime: Runtime,
body: String,
args: Vec<String>,
},
}Expand description
Execution strategy for a subprocess task.
| Variant | What it does |
|---|---|
Command | Direct binary execution via execve(command, args) |
Script | Script passed to an interpreter: execve(runtime, [flag, body, ...args]) |
Variants§
Implementations§
Source§impl SubprocessMode
impl SubprocessMode
Sourcepub fn decode_body(&self) -> ModelResult<String>
pub fn decode_body(&self) -> ModelResult<String>
Decode base64 script body to a UTF-8 string.
Returns Ok(body) for Script variant, Err for Command or invalid body.
Sourcepub fn validate(&self) -> ModelResult<()>
pub fn validate(&self) -> ModelResult<()>
Validate the mode at the model level.
Checks:
Command: command must not be empty.Script: body must not be empty, must be valid base64, must decode to UTF-8.Script+Customruntime: command and flag must not be empty.
Trait Implementations§
Source§impl Clone for SubprocessMode
impl Clone for SubprocessMode
Source§fn clone(&self) -> SubprocessMode
fn clone(&self) -> SubprocessMode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SubprocessMode
impl Debug for SubprocessMode
Source§impl<'de> Deserialize<'de> for SubprocessMode
impl<'de> Deserialize<'de> for SubprocessMode
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
Source§impl PartialEq for SubprocessMode
impl PartialEq for SubprocessMode
Source§impl Serialize for SubprocessMode
impl Serialize for SubprocessMode
impl Eq for SubprocessMode
impl StructuralPartialEq for SubprocessMode
Auto Trait Implementations§
impl Freeze for SubprocessMode
impl RefUnwindSafe for SubprocessMode
impl Send for SubprocessMode
impl Sync for SubprocessMode
impl Unpin for SubprocessMode
impl UnsafeUnpin for SubprocessMode
impl UnwindSafe for SubprocessMode
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