proxmox_api/generated/nodes/node/ceph/mon/
monid.rs1#[derive(Debug, Clone)]
2pub struct MonidClient<T> {
3 client: T,
4 path: String,
5}
6impl<T> MonidClient<T>
7where
8 T: crate::client::Client,
9{
10 pub fn new(client: T, parent_path: &str, monid: &str) -> Self {
11 Self {
12 client,
13 path: format!("{}/{}", parent_path, monid),
14 }
15 }
16}
17impl<T> MonidClient<T>
18where
19 T: crate::client::Client,
20{
21 #[doc = "Destroy Ceph Monitor and Manager."]
22 #[doc = ""]
23 #[doc = "Permission check: perm(\"/\", [\"Sys.Modify\"])"]
24 pub async fn delete(&self) -> Result<String, T::Error> {
25 let path = self.path.to_string();
26 self.client.delete(&path, &()).await
27 }
28}
29impl<T> MonidClient<T>
30where
31 T: crate::client::Client,
32{
33 #[doc = "Create Ceph Monitor and Manager"]
34 #[doc = ""]
35 #[doc = "Permission check: perm(\"/\", [\"Sys.Modify\"])"]
36 pub async fn post(&self, params: PostParams) -> Result<String, T::Error> {
37 let path = self.path.to_string();
38 self.client.post(&path, ¶ms).await
39 }
40}
41#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
42pub struct PostParams {
43 #[serde(rename = "mon-address")]
44 #[serde(skip_serializing_if = "Option::is_none", default)]
45 #[doc = "Overwrites autodetected monitor IP address(es). Must be in the public network(s) of Ceph."]
46 #[doc = ""]
47 pub mon_address: Option<String>,
48 #[serde(
49 flatten,
50 default,
51 skip_serializing_if = "::std::collections::HashMap::is_empty"
52 )]
53 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
54}