proxmox_api/generated/nodes/node/
rrddata.rs

1pub struct RrddataClient<T> {
2    client: T,
3    path: String,
4}
5impl<T> RrddataClient<T>
6where
7    T: crate::client::Client,
8{
9    pub fn new(client: T, parent_path: &str) -> Self {
10        Self {
11            client,
12            path: format!("{}{}", parent_path, "/rrddata"),
13        }
14    }
15}
16impl<T> RrddataClient<T>
17where
18    T: crate::client::Client,
19{
20    #[doc = "Read node RRD statistics"]
21    pub fn get(&self, params: GetParams) -> Result<Vec<GetOutputItems>, T::Error> {
22        let path = self.path.to_string();
23        self.client.get(&path, &params)
24    }
25}
26#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
27pub struct GetOutputItems {
28    #[serde(
29        flatten,
30        default,
31        skip_serializing_if = "::std::collections::HashMap::is_empty"
32    )]
33    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
34}
35impl GetParams {
36    pub fn new(timeframe: Timeframe) -> Self {
37        Self {
38            timeframe,
39            cf: Default::default(),
40            additional_properties: Default::default(),
41        }
42    }
43}
44#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
45pub struct GetParams {
46    #[serde(skip_serializing_if = "Option::is_none", default)]
47    #[doc = "The RRD consolidation function"]
48    pub cf: Option<Cf>,
49    #[doc = "Specify the time frame you are interested in."]
50    pub timeframe: Timeframe,
51    #[serde(
52        flatten,
53        default,
54        skip_serializing_if = "::std::collections::HashMap::is_empty"
55    )]
56    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
57}
58#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
59pub enum Cf {
60    AVERAGE,
61    MAX,
62}
63#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
64pub enum Timeframe {
65    #[serde(rename = "day")]
66    Day,
67    #[serde(rename = "hour")]
68    Hour,
69    #[serde(rename = "month")]
70    Month,
71    #[serde(rename = "week")]
72    Week,
73    #[serde(rename = "year")]
74    Year,
75}