pub struct JsonOutput {
pub version: String,
pub command: String,
pub status: Status,
pub result: Option<Value>,
pub artifacts: Vec<Artifact>,
pub warnings: Vec<String>,
pub errors: Vec<String>,
pub metadata: Option<Value>,
}Expand description
Top-level JSON output structure for all commands.
Fields§
§version: StringOxiGAF version (from CARGO_PKG_VERSION).
command: StringCommand name that was executed.
status: StatusExecution status.
result: Option<Value>Command-specific result data (optional).
artifacts: Vec<Artifact>Generated artifacts (files) with paths and sizes.
warnings: Vec<String>Warning messages (non-fatal issues).
errors: Vec<String>Error messages (fatal issues).
metadata: Option<Value>Additional metadata (command-specific).
Implementations§
Source§impl JsonOutput
impl JsonOutput
Sourcepub fn success(command: &str, result: Value) -> Self
pub fn success(command: &str, result: Value) -> Self
Create a success JSON output with result data.
Sourcepub fn error(command: &str, error: String) -> Self
pub fn error(command: &str, error: String) -> Self
Create an error JSON output with error message.
Sourcepub fn add_artifact(&mut self, artifact_type: String, path: PathBuf)
pub fn add_artifact(&mut self, artifact_type: String, path: PathBuf)
Add an artifact (generated file) to the output.
Automatically reads file size if the file exists.
Sourcepub fn add_warning(&mut self, warning: String)
pub fn add_warning(&mut self, warning: String)
Add a warning message.
Trait Implementations§
Source§impl Debug for JsonOutput
impl Debug for JsonOutput
Source§impl<'de> Deserialize<'de> for JsonOutput
impl<'de> Deserialize<'de> for JsonOutput
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 JsonOutput
impl RefUnwindSafe for JsonOutput
impl Send for JsonOutput
impl Sync for JsonOutput
impl Unpin for JsonOutput
impl UnsafeUnpin for JsonOutput
impl UnwindSafe for JsonOutput
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
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.