1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum DockerArchiveError {
5 #[error("io error: {0:?}")]
6 IOError(#[from] std::io::Error),
7 #[error["invalid docker archive: {0}"]]
8 InvalidArchive(&'static str),
9 #[error["invalid docker archive: {0}"]]
10 InvalidArchiveX(String),
11 #[error("serde_json error: {0:?}")]
12 DeJson(#[from] serde_json::Error),
13 #[error("inter code logic error: {0:?}")]
14 InternalLogicError(String),
15 #[error("docker/podman executable not found: {0:?}")]
16 WhichError(#[from] which::Error),
17 #[error("fail to read stdout from docker/podman child process")]
18 StdoutError,
19}