use thiserror::Error; #[derive(Error, Debug)] pub enum Error { #[error("libvirt: {0}")] Libvirt(#[from] virt::error::Error), #[error("Unknown: {0}")] Other(String), #[error("Missing connection: {0}")] Connection(String), #[error("Missing image: {0}")] MissingImage(String), #[error("Could not allocate VM storage: {0}")] Allocation(String), #[error("I/O: {0}")] Io(#[from] std::io::Error), #[error("Remote command error: {0}")] RemoteCommand(String), }