proxmox_api/generated/nodes/node/ceph/
mon.rs1pub mod monid;
2#[derive(Debug, Clone)]
3pub struct MonClient<T> {
4 client: T,
5 path: String,
6}
7impl<T> MonClient<T>
8where
9 T: crate::client::Client,
10{
11 pub fn new(client: T, parent_path: &str) -> Self {
12 Self {
13 client,
14 path: format!("{}{}", parent_path, "/mon"),
15 }
16 }
17}
18impl<T> MonClient<T>
19where
20 T: crate::client::Client,
21{
22 #[doc = "Get Ceph monitor list."]
23 #[doc = ""]
24 #[doc = "Permission check: perm(\"/\", [\"Sys.Audit\", \"Datastore.Audit\"], any)"]
25 pub async fn get(&self) -> Result<Vec<GetOutputItems>, T::Error> {
26 let path = self.path.to_string();
27 let optional_vec: Option<Vec<GetOutputItems>> = self.client.get(&path, &()).await?;
28 Ok(optional_vec.unwrap_or_default())
29 }
30}
31impl GetOutputItems {
32 pub fn new(name: String) -> Self {
33 Self {
34 name,
35 addr: ::std::default::Default::default(),
36 ceph_version: ::std::default::Default::default(),
37 ceph_version_short: ::std::default::Default::default(),
38 direxists: ::std::default::Default::default(),
39 host: ::std::default::Default::default(),
40 quorum: ::std::default::Default::default(),
41 rank: ::std::default::Default::default(),
42 service: ::std::default::Default::default(),
43 state: ::std::default::Default::default(),
44 additional_properties: ::std::default::Default::default(),
45 }
46 }
47}
48#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
49pub struct GetOutputItems {
50 #[serde(skip_serializing_if = "Option::is_none", default)]
51 pub addr: Option<String>,
52 #[serde(skip_serializing_if = "Option::is_none", default)]
53 pub ceph_version: Option<String>,
54 #[serde(skip_serializing_if = "Option::is_none", default)]
55 pub ceph_version_short: Option<String>,
56 #[serde(skip_serializing_if = "Option::is_none", default)]
57 pub direxists: Option<String>,
58 #[serde(
59 serialize_with = "crate::types::serialize_bool_optional",
60 deserialize_with = "crate::types::deserialize_bool_optional"
61 )]
62 #[serde(skip_serializing_if = "Option::is_none", default)]
63 pub host: Option<bool>,
64 pub name: String,
65 #[serde(
66 serialize_with = "crate::types::serialize_bool_optional",
67 deserialize_with = "crate::types::deserialize_bool_optional"
68 )]
69 #[serde(skip_serializing_if = "Option::is_none", default)]
70 pub quorum: Option<bool>,
71 #[serde(
72 serialize_with = "crate::types::serialize_int_optional",
73 deserialize_with = "crate::types::deserialize_int_optional"
74 )]
75 #[serde(skip_serializing_if = "Option::is_none", default)]
76 pub rank: Option<i64>,
77 #[serde(
78 serialize_with = "crate::types::serialize_int_optional",
79 deserialize_with = "crate::types::deserialize_int_optional"
80 )]
81 #[serde(skip_serializing_if = "Option::is_none", default)]
82 pub service: Option<i64>,
83 #[serde(skip_serializing_if = "Option::is_none", default)]
84 pub state: Option<String>,
85 #[serde(
86 flatten,
87 default,
88 skip_serializing_if = "::std::collections::HashMap::is_empty"
89 )]
90 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
91}
92impl<T> MonClient<T>
93where
94 T: crate::client::Client,
95{
96 pub fn monid(&self, monid: &str) -> monid::MonidClient<T> {
97 monid::MonidClient::<T>::new(self.client.clone(), &self.path, monid)
98 }
99}