Skip to main content

proxmox_api/generated/nodes/node/ceph/mon/
monid.rs

1#[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, &params).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}