proxmox_api/generated/nodes/node/
rrddata.rs1pub 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, ¶ms)
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}