pub enum LetError {
Show 39 variants
JuiceFSLaunchError {
command: String,
err: Error,
},
JuiceFSError {
command: String,
code: i32,
stdout: String,
stderr: String,
},
RedirectorError {
address: String,
err: String,
},
ArgumentsBase64Error {
err: DecodeError,
},
ArgumentsUTF8Error {
err: FromUtf8Error,
},
ArgumentsJSONError {
err: Error,
},
LocalContainerInfoError {
path: PathBuf,
err: LocalContainerInfoError,
},
PackageInfoError {
err: Error,
},
MissingFunctionsProperty {
path: PathBuf,
},
UnknownFunction {
function: String,
package: String,
kind: PackageKind,
},
MissingInputArgument {
function: String,
package: String,
kind: PackageKind,
name: String,
},
IncompatibleTypes {
function: String,
package: String,
kind: PackageKind,
name: String,
expected: DataType,
got: DataType,
},
WorkdirInitLaunchError {
command: String,
err: Error,
},
WorkdirInitError {
command: String,
code: i32,
stdout: String,
stderr: String,
},
EntrypointPathError {
path: PathBuf,
err: Error,
},
DuplicateArgument {
name: String,
},
DuplicateArrayArgument {
array: String,
elem: usize,
name: String,
},
DuplicateStructArgument {
sname: String,
field: String,
name: String,
},
UnsupportedType {
argument: String,
elem_type: DataType,
},
UnsupportedNestedArray {
elem: usize,
},
UnsupportedArrayElement {
elem: usize,
elem_type: String,
},
UnsupportedStructArray {
name: String,
field: String,
},
UnsupportedNestedStruct {
name: String,
field: String,
},
UnsupportedStructField {
name: String,
field: String,
elem_type: String,
},
IllegalNestedURL {
name: String,
field: String,
},
PackageLaunchError {
command: String,
err: Error,
},
IllegalOasDocument {
path: PathBuf,
err: Error,
},
PackageRunError {
err: Error,
},
ClosedStdout,
ClosedStderr,
StdoutReadError {
err: Error,
},
StderrReadError {
err: Error,
},
DecodeError {
stdout: String,
err: Error,
},
OasDecodeError {
stdout: String,
err: Error,
},
UnsupportedMultipleOutputs {
n: usize,
},
SerializeError {
argument: String,
data_type: DataType,
err: Error,
},
ArraySerializeError {
argument: String,
err: Error,
},
ClassSerializeError {
argument: String,
class: String,
err: Error,
},
ResultJSONError {
value: String,
err: Error,
},
}
Expand description
Generic, top-level errors for the brane-let application.
Variants§
JuiceFSLaunchError
Could not launch the JuiceFS executable
JuiceFSError
The JuiceFS executable didn’t complete successfully
RedirectorError
Could not start the proxy redirector in the background
ArgumentsBase64Error
Could not decode input arguments with Base64
Fields
err: DecodeError
ArgumentsUTF8Error
Could not decode input arguments as UTF-8
Fields
err: FromUtf8Error
ArgumentsJSONError
Could not decode input arguments with JSON
LocalContainerInfoError
Could not load a ContainerInfo file.
PackageInfoError
Could not load a PackageInfo file.
MissingFunctionsProperty
Missing the ‘functions’ property in the package info YAML
UnknownFunction
The requested function is not part of the package that this brane-let is responsible for
MissingInputArgument
We’re missing a required parameter in the function
IncompatibleTypes
An argument has an incompatible type
Fields
kind: PackageKind
WorkdirInitLaunchError
Could not start the init.sh workdirectory preparation script
WorkdirInitError
The init.sh workdirectory preparation script returned a non-zero exit code
EntrypointPathError
Could not canonicalize the entrypoint file’s path
DuplicateArgument
We encountered two arguments with indistinguishable names
DuplicateArrayArgument
We encountered an array element with indistringuishable name from another environment variable
DuplicateStructArgument
We encountered a struct field with indistringuishable name from another environment variable
UnsupportedType
The user tried to pass an unsupported type to a function
UnsupportedNestedArray
The user tried to give us a nested array, but that’s unsupported for now.
UnsupportedArrayElement
The user tried to give us an array with (for now) unsupported element types.
UnsupportedStructArray
The user tried to give us a struct with a nested array.
UnsupportedNestedStruct
The user tried to pass a nested Directory or File argument without ‘url’ property.
UnsupportedStructField
The user tried to pass a Struct with a general unsupported type.
IllegalNestedURL
The user tried to pass a nested Directory or File argument without ‘url’ property.
PackageLaunchError
We got an error launching the package
IllegalOasDocument
The given Open API Standard file does not parse as OAS
PackageRunError
Somehow, we got an error while waiting for the subprocess
ClosedStdout
The subprocess’ stdout wasn’t opened successfully
ClosedStderr
The subprocess’ stderr wasn’t opened successfully
StdoutReadError
Could not open stdout
StderrReadError
Could not open stderr
DecodeError
Something went wrong while decoding the package output as YAML
OasDecodeError
Failed to parse the output of an OAS package (which uses JSON instead of YAML cuz OAS)
UnsupportedMultipleOutputs
Encountered more than one output from the function
SerializeError
Failed to encode the input JSON
ArraySerializeError
Could not encode the given array to JSON.
ClassSerializeError
Could not encode the given class to JSON.
ResultJSONError
Could not write the resulting value to JSON
Trait Implementations§
Source§impl Error for LetError
impl Error for LetError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Auto Trait Implementations§
impl Freeze for LetError
impl !RefUnwindSafe for LetError
impl Send for LetError
impl Sync for LetError
impl Unpin for LetError
impl !UnwindSafe for LetError
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request