apisix_admin_client/models/
ctrl_responses.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4// region: ctrl_schema
5#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct CtrlSchemaResponse {
8    pub main: Value,
9    pub plugins: Value,
10    #[serde(rename = "stream_plugins")]
11    pub stream_plugins: Value,
12}
13// endregion: ctrl_schema
14
15// region: ctrl_health_check
16#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
17#[serde_with::skip_serializing_none]
18#[serde(rename_all = "camelCase")]
19pub struct CtrlHealthCheckResponse {
20    pub nodes: Option<Vec<Node>>,
21    pub name: Option<String>,
22    #[serde(rename = "type")]
23    pub type_field: Option<String>,
24}
25
26#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
27#[serde_with::skip_serializing_none]
28#[serde(rename_all = "camelCase")]
29pub struct Node {
30    pub ip: Option<String>,
31    pub counter: Option<Counter>,
32    pub port: Option<i64>,
33    pub status: Option<String>,
34}
35
36#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
37#[serde_with::skip_serializing_none]
38#[serde(rename_all = "camelCase")]
39pub struct Counter {
40    #[serde(rename = "http_failure")]
41    pub http_failure: Option<i64>,
42    pub success: Option<i64>,
43    #[serde(rename = "timeout_failure")]
44    pub timeout_failure: Option<i64>,
45    #[serde(rename = "tcp_failure")]
46    pub tcp_failure: Option<i64>,
47}
48// endregion: ctrl_health_check