AirLibrary/CLI/
CommandTypes.rs1#![allow(unused_variables, dead_code, unused_imports)]
2
3#[derive(Debug, Clone)]
12pub enum Command {
13 Status { service:Option<String>, verbose:bool, json:bool },
14 Restart { service:Option<String>, force:bool },
15 Config(ConfigCommand),
16 Metrics { json:bool, service:Option<String> },
17 Logs { service:Option<String>, tail:Option<usize>, filter:Option<String>, follow:bool },
18 Debug(DebugCommand),
19 Help { command:Option<String> },
20 Version,
21}
22
23#[derive(Debug, Clone)]
25pub enum ConfigCommand {
26 Get { key:String },
27 Set { key:String, value:String },
28 Reload { validate:bool },
29 Show { json:bool },
30 Validate { path:Option<String> },
31}
32
33#[derive(Debug, Clone)]
35pub enum DebugCommand {
36 DumpState { service:Option<String>, json:bool },
37 DumpConnections { format:Option<String> },
38 HealthCheck { verbose:bool, service:Option<String> },
39 Diagnostics { level:DiagnosticLevel },
40}
41
42#[derive(Debug, Clone, Copy, PartialEq, Eq)]
44pub enum DiagnosticLevel {
45 Basic,
46 Extended,
47 Full,
48}
49
50#[derive(Debug, Clone)]
52pub enum ValidationResult {
53 Valid,
54 Invalid(String),
55}
56
57#[derive(Debug, Clone, Copy, PartialEq, Eq)]
59pub enum PermissionLevel {
60 User,
61 Admin,
62}