proxmox_api/generated/access/users/
userid.rs1pub 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, ¶ms)
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}