aboutsummaryrefslogtreecommitdiff
path: root/src/errors.rs
blob: 3c261c7bc30a3e6f999d9b449852d392eef1f952 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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),
}