proxmox_api/generated/nodes/node/
termproxy.rs

1pub struct TermproxyClient<T> {
2    client: T,
3    path: String,
4}
5impl<T> TermproxyClient<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, "/termproxy"),
13        }
14    }
15}
16impl<T> TermproxyClient<T>
17where
18    T: crate::client::Client,
19{
20    #[doc = "Creates a VNC Shell proxy."]
21    pub fn post(&self, params: PostParams) -> Result<(), T::Error> {
22        let path = self.path.to_string();
23        self.client.post(&path, &params)
24    }
25}
26#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
27pub struct PostParams {
28    #[serde(skip_serializing_if = "Option::is_none", default)]
29    #[doc = "Run specific command or default to login (requires 'root@pam')"]
30    pub cmd: Option<Cmd>,
31    #[serde(rename = "cmd-opts")]
32    #[serde(skip_serializing_if = "Option::is_none", default)]
33    #[doc = "Add parameters to a command. Encoded as null terminated strings."]
34    pub cmd_opts: Option<String>,
35    #[serde(
36        flatten,
37        default,
38        skip_serializing_if = "::std::collections::HashMap::is_empty"
39    )]
40    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
41}
42#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
43pub enum Cmd {
44    #[serde(rename = "ceph_install")]
45    CephInstall,
46    #[serde(rename = "login")]
47    Login,
48    #[serde(rename = "upgrade")]
49    Upgrade,
50}
51impl Default for Cmd {
52    fn default() -> Self {
53        Self::Login
54    }
55}