proxmox_api/generated/access/users/
userid.rs

1pub mod tfa;
2pub mod token;
3pub mod unlock_tfa;
4pub struct UseridClient<T> {
5    client: T,
6    path: String,
7}
8impl<T> UseridClient<T>
9where
10    T: crate::client::Client,
11{
12    pub fn new(client: T, parent_path: &str, userid: &str) -> Self {
13        Self {
14            client,
15            path: format!("{}/{}", parent_path, userid),
16        }
17    }
18}
19impl<T> UseridClient<T>
20where
21    T: crate::client::Client,
22{
23    #[doc = "Delete user."]
24    pub fn delete(&self) -> Result<(), T::Error> {
25        let path = self.path.to_string();
26        self.client.delete(&path, &())
27    }
28}
29impl<T> UseridClient<T>
30where
31    T: crate::client::Client,
32{
33    #[doc = "Get user configuration."]
34    pub fn get(&self) -> Result<GetOutput, T::Error> {
35        let path = self.path.to_string();
36        self.client.get(&path, &())
37    }
38}
39impl<T> UseridClient<T>
40where
41    T: crate::client::Client,
42{
43    #[doc = "Update user configuration."]
44    pub fn put(&self, params: PutParams) -> Result<(), T::Error> {
45        let path = self.path.to_string();
46        self.client.put(&path, &params)
47    }
48}
49#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
50pub struct GetOutput {
51    #[serde(skip_serializing_if = "Option::is_none", default)]
52    pub comment: Option<String>,
53    #[serde(skip_serializing_if = "Option::is_none", default)]
54    pub email: Option<String>,
55    #[serde(
56        serialize_with = "crate::types::serialize_bool_optional",
57        deserialize_with = "crate::types::deserialize_bool_optional"
58    )]
59    #[serde(skip_serializing_if = "Option::is_none", default)]
60    #[doc = "Enable the account (default). You can set this to '0' to disable the account"]
61    pub enable: Option<bool>,
62    #[serde(
63        serialize_with = "crate::types::serialize_int_optional",
64        deserialize_with = "crate::types::deserialize_int_optional"
65    )]
66    #[serde(skip_serializing_if = "Option::is_none", default)]
67    #[doc = "Account expiration date (seconds since epoch). '0' means no expiration date."]
68    pub expire: Option<u64>,
69    #[serde(skip_serializing_if = "Option::is_none", default)]
70    pub firstname: Option<String>,
71    #[serde(skip_serializing_if = "::std::vec::Vec::is_empty", default)]
72    pub groups: Vec<String>,
73    #[serde(skip_serializing_if = "Option::is_none", default)]
74    #[doc = "Keys for two factor auth (yubico)."]
75    pub keys: Option<String>,
76    #[serde(skip_serializing_if = "Option::is_none", default)]
77    pub lastname: Option<String>,
78    #[serde(skip_serializing_if = "Option::is_none", default)]
79    pub tokens: Option<TokensGetOutputTokens>,
80}
81#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
82pub struct PutParams {
83    #[serde(
84        serialize_with = "crate::types::serialize_bool_optional",
85        deserialize_with = "crate::types::deserialize_bool_optional"
86    )]
87    #[serde(skip_serializing_if = "Option::is_none", default)]
88    pub append: Option<bool>,
89    #[serde(skip_serializing_if = "Option::is_none", default)]
90    pub comment: Option<String>,
91    #[serde(skip_serializing_if = "Option::is_none", default)]
92    pub email: Option<String>,
93    #[serde(
94        serialize_with = "crate::types::serialize_bool_optional",
95        deserialize_with = "crate::types::deserialize_bool_optional"
96    )]
97    #[serde(skip_serializing_if = "Option::is_none", default)]
98    #[doc = "Enable the account (default). You can set this to '0' to disable the account"]
99    pub enable: Option<bool>,
100    #[serde(
101        serialize_with = "crate::types::serialize_int_optional",
102        deserialize_with = "crate::types::deserialize_int_optional"
103    )]
104    #[serde(skip_serializing_if = "Option::is_none", default)]
105    #[doc = "Account expiration date (seconds since epoch). '0' means no expiration date."]
106    pub expire: Option<u64>,
107    #[serde(skip_serializing_if = "Option::is_none", default)]
108    pub firstname: Option<String>,
109    #[serde(skip_serializing_if = "Option::is_none", default)]
110    pub groups: Option<String>,
111    #[serde(skip_serializing_if = "Option::is_none", default)]
112    #[doc = "Keys for two factor auth (yubico)."]
113    pub keys: Option<String>,
114    #[serde(skip_serializing_if = "Option::is_none", default)]
115    pub lastname: Option<String>,
116    #[serde(
117        flatten,
118        default,
119        skip_serializing_if = "::std::collections::HashMap::is_empty"
120    )]
121    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
122}
123#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
124pub struct AdditionalPropertiesGetOutputTokens {
125    #[serde(skip_serializing_if = "Option::is_none", default)]
126    pub comment: Option<String>,
127    #[serde(skip_serializing_if = "Option::is_none", default)]
128    #[doc = "API token expiration date (seconds since epoch). '0' means no expiration date."]
129    pub expire: Option<()>,
130    #[serde(
131        serialize_with = "crate::types::serialize_bool_optional",
132        deserialize_with = "crate::types::deserialize_bool_optional"
133    )]
134    #[serde(skip_serializing_if = "Option::is_none", default)]
135    #[doc = "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user."]
136    pub privsep: Option<bool>,
137    #[serde(
138        flatten,
139        default,
140        skip_serializing_if = "::std::collections::HashMap::is_empty"
141    )]
142    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
143}
144#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
145pub struct TokensGetOutputTokens {
146    #[serde(
147        flatten,
148        default,
149        skip_serializing_if = "::std::collections::HashMap::is_empty"
150    )]
151    pub additional_properties:
152        ::std::collections::HashMap<String, AdditionalPropertiesGetOutputTokens>,
153}
154impl<T> UseridClient<T>
155where
156    T: crate::client::Client,
157{
158    pub fn tfa(&self) -> tfa::TfaClient<T> {
159        tfa::TfaClient::<T>::new(self.client.clone(), &self.path)
160    }
161}
162impl<T> UseridClient<T>
163where
164    T: crate::client::Client,
165{
166    pub fn unlock_tfa(&self) -> unlock_tfa::UnlockTfaClient<T> {
167        unlock_tfa::UnlockTfaClient::<T>::new(self.client.clone(), &self.path)
168    }
169}
170impl<T> UseridClient<T>
171where
172    T: crate::client::Client,
173{
174    pub fn token(&self) -> token::TokenClient<T> {
175        token::TokenClient::<T>::new(self.client.clone(), &self.path)
176    }
177}