canic_backup/restore/plan/
error.rs1use crate::manifest::ManifestValidationError;
2use thiserror::Error as ThisError;
3
4#[derive(Debug, ThisError)]
9pub enum RestorePlanError {
10 #[error(transparent)]
11 InvalidManifest(#[from] ManifestValidationError),
12
13 #[error("field {field} must be a valid principal: {value}")]
14 InvalidPrincipal { field: &'static str, value: String },
15
16 #[error("mapping contains duplicate source canister {0}")]
17 DuplicateMappingSource(String),
18
19 #[error("mapping contains duplicate target canister {0}")]
20 DuplicateMappingTarget(String),
21
22 #[error("mapping references unknown source canister {0}")]
23 UnknownMappingSource(String),
24
25 #[error("mapping is missing source canister {0}")]
26 MissingMappingSource(String),
27
28 #[error("fixed-identity member {source_canister} cannot be mapped to {target_canister}")]
29 FixedIdentityRemap {
30 source_canister: String,
31 target_canister: String,
32 },
33
34 #[error("restore plan contains duplicate target canister {0}")]
35 DuplicatePlanTarget(String),
36
37 #[error("restore plan contains a parent cycle or unresolved dependency")]
38 RestoreOrderCycle,
39}