1use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct BdbGroup {
9 pub uid: u32,
10 pub memory_size: u64,
11 pub members: Vec<u32>,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct DbConnsAuditingConfig {
17 pub audit_protocol: String,
18 pub audit_address: String,
19 pub audit_port: u16,
20 pub audit_reconnect_interval: Option<u32>,
21 pub audit_reconnect_max_attempts: Option<u32>,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26pub struct CheckResult {
27 pub cluster_test_result: Option<String>,
28 pub nodes: Option<Vec<NodeCheckResult>>,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33pub struct NodeCheckResult {
34 pub node_uid: u32,
35 pub status: String,
36 pub checks: Option<Vec<Value>>,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41pub struct ServicesConfiguration {
42 pub cm_server: Option<ServiceConfig>,
43 pub crdb_coordinator: Option<ServiceConfig>,
44 pub crdb_worker: Option<ServiceConfig>,
45 pub mdns_server: Option<ServiceConfig>,
46 pub pdns_server: Option<ServiceConfig>,
47 pub redis_server: Option<ServiceConfig>,
48 pub saslauthd: Option<ServiceConfig>,
49 pub stats_archiver: Option<ServiceConfig>,
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
54pub struct ServiceConfig {
55 pub enabled: bool,
56 pub port: Option<u16>,
57 pub settings: Option<Value>,
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62pub struct OcspConfig {
63 pub ocsp_url: String,
64 pub ocsp_response_timeout_seconds: Option<u32>,
65 pub query_frequency_seconds: Option<u32>,
66 pub recovery_frequency_seconds: Option<u32>,
67 pub recovery_max_tries: Option<u32>,
68 pub responder_cert: Option<String>,
69}
70
71#[derive(Debug, Clone, Serialize, Deserialize)]
73pub struct OcspStatus {
74 pub cert_name: String,
75 pub ocsp_status: String,
76 pub produced_at: Option<String>,
77 pub responder_url: Option<String>,
78 pub this_update: Option<String>,
79 pub next_update: Option<String>,
80}
81
82#[derive(Debug, Clone, Serialize, Deserialize)]
84pub struct JwtAuthorize {
85 pub jwks_uri: String,
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90pub struct StateMachine {
91 pub id: String,
92 pub name: String,
93 pub state: String,
94 pub status: String,
95 pub progress: Option<f64>,
96 pub created: Option<String>,
97 pub updated: Option<String>,
98 pub error: Option<String>,
99}
100
101#[derive(Debug, Clone, Serialize, Deserialize)]
103pub struct ModuleMetadata {
104 pub name: String,
105 pub version: String,
106 pub semantic_version: Option<String>,
107 pub min_redis_version: Option<String>,
108 pub min_redis_pack_version: Option<String>,
109 pub capabilities: Option<Vec<String>>,
110 pub command_line_args: Option<String>,
111 pub config_command: Option<String>,
112 pub dependencies: Option<Vec<String>>,
113 pub description: Option<String>,
114 pub display_name: Option<String>,
115 pub email: Option<String>,
116 pub homepage: Option<String>,
117 pub is_bundled: Option<bool>,
118 pub license: Option<String>,
119 pub os_list: Option<Vec<String>>,
120 pub sha256: Option<String>,
121 pub uid: Option<String>,
122 pub architecture_list: Option<Vec<String>>,
123 pub author: Option<String>,
124}
125
126#[derive(Debug, Clone, Serialize, Deserialize)]
128pub struct DbCommand {
129 pub command: String,
130 pub count: u64,
131}
132
133#[derive(Debug, Clone, Serialize, Deserialize)]
135pub struct ActionV2 {
136 pub action_uid: String,
137 pub name: String,
138 pub action_type: String,
139 pub creation_time: u64,
140 pub progress: f64,
141 pub status: String,
142 pub additional_info: Option<ActionAdditionalInfo>,
143}
144
145#[derive(Debug, Clone, Serialize, Deserialize)]
147pub struct ActionAdditionalInfo {
148 pub description: Option<String>,
149 pub error: Option<String>,
150 pub object_type: Option<String>,
151 pub object_uid: Option<String>,
152}
153
154