grafana_dashboard/templating/
mod.rs

1use options::Item as OptionItem;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct Templating {
6    #[serde(skip_serializing_if = "Option::is_none")]
7    pub enable: Option<bool>,
8    pub list: Vec<Item>,
9}
10
11#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct Item {
13    #[serde(skip_serializing_if = "Option::is_none")]
14    #[serde(rename = "allFormat")]
15    pub all_format: Option<String>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub current: Option<Current>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub datasource: Option<String>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    #[serde(rename = "includeAll")]
22    pub include_all: Option<bool>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub multi: Option<bool>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    #[serde(rename = "multiFormat")]
27    pub multi_format: Option<String>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub name: Option<String>,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub options: Option<Vec<OptionItem>>,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub query: Option<String>,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub refresh: Option<bool>,
36    #[serde(skip_serializing_if = "Option::is_none")]
37    pub regex: Option<String>,
38    #[serde(skip_serializing_if = "Option::is_none")]
39    pub r#type: Option<String>,
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize)]
43pub struct Current {
44    #[serde(skip_serializing_if = "Option::is_none")]
45    pub tags: Option<Vec<String>>,
46    #[serde(skip_serializing_if = "Option::is_none")]
47    pub text: Option<String>,
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub value: Option<String>,
50}
51
52pub mod options {
53    use serde::{Deserialize, Serialize};
54    #[derive(Debug, Clone, Serialize, Deserialize)]
55    pub struct Item {
56        #[serde(skip_serializing_if = "Option::is_none")]
57        pub selected: Option<bool>,
58        #[serde(skip_serializing_if = "Option::is_none")]
59        pub text: Option<String>,
60        #[serde(skip_serializing_if = "Option::is_none")]
61        pub value: Option<String>,
62    }
63}