spin_manifest/
error.rs

1//! Spin manifest errors
2
3/// Spin manifest errors
4#[derive(Debug, thiserror::Error)]
5pub enum Error {
6    /// Invalid digest format.
7    #[error("invalid digest {0:?}: {1}")]
8    InvalidDigest(String, String),
9
10    /// Invalid ID format.
11    #[error("invalid ID `{id}`: {reason}")]
12    InvalidID {
13        /// The invalid ID
14        id: String,
15        /// The reason why the ID is invalid
16        reason: String,
17    },
18
19    /// Invalid trigger config
20    #[error("invalid `{trigger_type}` trigger config: {reason}")]
21    InvalidTriggerConfig {
22        /// The trigger type
23        trigger_type: String,
24        /// The reason why the config is invalid
25        reason: String,
26    },
27
28    /// Invalid variable definition
29    #[error("invalid variable definition for `{name}`: {reason}")]
30    InvalidVariable {
31        /// The invalid variable name
32        name: String,
33        /// The reason why the variable is invalid
34        reason: String,
35    },
36
37    /// Invalid manifest version
38    #[error("invalid manifest version: {0}")]
39    InvalidVersion(String),
40
41    /// IO error
42    #[error(transparent)]
43    Io(#[from] std::io::Error),
44
45    /// Error serializing metadata
46    #[error("error serializing metadata: {0}")]
47    MetadataSerialization(String),
48
49    /// Error parsing TOML
50    #[error(transparent)]
51    TomlParse(#[from] toml::de::Error),
52
53    /// Validation error
54    #[error(transparent)]
55    ValidationError(anyhow::Error),
56}