Skip to main content

containerregistry_image/
error.rs

1//! Error types for image operations.
2
3use thiserror::Error;
4
5/// Errors that can occur during image operations.
6#[derive(Debug, Error)]
7pub enum Error {
8    /// Invalid digest format.
9    #[error("invalid digest: {0}")]
10    InvalidDigest(String),
11
12    /// Digest mismatch during verification.
13    #[error("digest mismatch: expected {expected}, got {actual}")]
14    DigestMismatch { expected: String, actual: String },
15
16    /// Size mismatch during verification.
17    #[error("size mismatch: expected {expected}, got {actual}")]
18    SizeMismatch { expected: u64, actual: u64 },
19
20    /// Unsupported digest algorithm.
21    #[error("unsupported algorithm: {0}")]
22    UnsupportedAlgorithm(String),
23
24    /// Invalid manifest format.
25    #[error("invalid manifest: {0}")]
26    InvalidManifest(String),
27
28    /// Unsupported media type.
29    #[error("unsupported media type: {0}")]
30    UnsupportedMediaType(String),
31
32    /// Invalid image config format.
33    #[error("invalid config: {0}")]
34    InvalidConfig(String),
35
36    /// JSON serialization/deserialization error.
37    #[error("json error: {0}")]
38    Json(#[from] serde_json::Error),
39}