zombienet_configuration/shared/
errors.rs
1use super::types::{ParaId, Port};
2
3#[derive(thiserror::Error, Debug)]
5pub enum ConfigError {
6 #[error("relaychain.{0}")]
7 Relaychain(anyhow::Error),
8
9 #[error("parachain[{0}].{1}")]
10 Parachain(ParaId, anyhow::Error),
11
12 #[error("global_settings.{0}")]
13 GlobalSettings(anyhow::Error),
14
15 #[error("nodes['{0}'].{1}")]
16 Node(String, anyhow::Error),
17
18 #[error("collators['{0}'].{1}")]
19 Collator(String, anyhow::Error),
20}
21
22#[derive(thiserror::Error, Debug)]
24pub enum FieldError {
25 #[error("name: {0}")]
26 Name(anyhow::Error),
27
28 #[error("chain: {0}")]
29 Chain(anyhow::Error),
30
31 #[error("image: {0}")]
32 Image(anyhow::Error),
33
34 #[error("default_image: {0}")]
35 DefaultImage(anyhow::Error),
36
37 #[error("command: {0}")]
38 Command(anyhow::Error),
39
40 #[error("default_command: {0}")]
41 DefaultCommand(anyhow::Error),
42
43 #[error("bootnodes_addresses[{0}]: '{1}' {2}")]
44 BootnodesAddress(usize, String, anyhow::Error),
45
46 #[error("genesis_wasm_generator: {0}")]
47 GenesisWasmGenerator(anyhow::Error),
48
49 #[error("genesis_state_generator: {0}")]
50 GenesisStateGenerator(anyhow::Error),
51
52 #[error("local_ip: {0}")]
53 LocalIp(anyhow::Error),
54
55 #[error("default_resources.{0}")]
56 DefaultResources(anyhow::Error),
57
58 #[error("resources.{0}")]
59 Resources(anyhow::Error),
60
61 #[error("request_memory: {0}")]
62 RequestMemory(anyhow::Error),
63
64 #[error("request_cpu: {0}")]
65 RequestCpu(anyhow::Error),
66
67 #[error("limit_memory: {0}")]
68 LimitMemory(anyhow::Error),
69
70 #[error("limit_cpu: {0}")]
71 LimitCpu(anyhow::Error),
72
73 #[error("ws_port: {0}")]
74 WsPort(anyhow::Error),
75
76 #[error("rpc_port: {0}")]
77 RpcPort(anyhow::Error),
78
79 #[error("prometheus_port: {0}")]
80 PrometheusPort(anyhow::Error),
81
82 #[error("p2p_port: {0}")]
83 P2pPort(anyhow::Error),
84
85 #[error("registration_strategy: {0}")]
86 RegistrationStrategy(anyhow::Error),
87}
88
89#[derive(thiserror::Error, Debug, Clone)]
91pub enum ConversionError {
92 #[error("'{0}' shouldn't contains whitespace")]
93 ContainsWhitespaces(String),
94
95 #[error("'{}' doesn't match regex '{}'", .value, .regex)]
96 DoesntMatchRegex { value: String, regex: String },
97
98 #[error("can't be empty")]
99 CantBeEmpty,
100
101 #[error("deserialize error")]
102 DeserializeError(String),
103}
104
105#[derive(thiserror::Error, Debug, Clone)]
107pub enum ValidationError {
108 #[error("'{0}' is already used across config")]
109 PortAlreadyUsed(Port),
110
111 #[error("'{0}' is already used across config")]
112 NodeNameAlreadyUsed(String),
113
114 #[error("can't be empty")]
115 CantBeEmpty(),
116}