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