proxmox_api/generated/access/users/userid/
tfa.rs

1pub struct TfaClient<T> {
2    client: T,
3    path: String,
4}
5impl<T> TfaClient<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, "/tfa"),
13        }
14    }
15}
16impl<T> TfaClient<T>
17where
18    T: crate::client::Client,
19{
20    #[doc = "Get user TFA types (Personal and Realm)."]
21    pub fn get(&self, params: GetParams) -> Result<GetOutput, T::Error> {
22        let path = self.path.to_string();
23        self.client.get(&path, &params)
24    }
25}
26#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
27pub struct GetOutput {
28    #[serde(skip_serializing_if = "Option::is_none", default)]
29    #[doc = "The type of TFA the users realm has set, if any."]
30    pub realm: Option<Realm>,
31    #[serde(skip_serializing_if = "::std::vec::Vec::is_empty", default)]
32    #[doc = "Array of the user configured TFA types, if any. Only available if 'multiple' was not passed."]
33    pub types: Vec<Types>,
34    #[serde(skip_serializing_if = "Option::is_none", default)]
35    #[doc = "The type of TFA the user has set, if any. Only set if 'multiple' was not passed."]
36    pub user: Option<User>,
37}
38#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
39pub struct GetParams {
40    #[serde(
41        serialize_with = "crate::types::serialize_bool_optional",
42        deserialize_with = "crate::types::deserialize_bool_optional"
43    )]
44    #[serde(skip_serializing_if = "Option::is_none", default)]
45    #[doc = "Request all entries as an array."]
46    pub multiple: Option<bool>,
47    #[serde(
48        flatten,
49        default,
50        skip_serializing_if = "::std::collections::HashMap::is_empty"
51    )]
52    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
53}
54#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
55pub enum Realm {
56    #[serde(rename = "oath")]
57    Oath,
58    #[serde(rename = "yubico")]
59    Yubico,
60}
61#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
62pub enum Types {
63    #[serde(rename = "recovedry")]
64    Recovedry,
65    #[serde(rename = "totp")]
66    Totp,
67    #[serde(rename = "u2f")]
68    U2f,
69    #[serde(rename = "webauthn")]
70    Webauthn,
71    #[serde(rename = "yubico")]
72    Yubico,
73}
74#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
75pub enum User {
76    #[serde(rename = "oath")]
77    Oath,
78    #[serde(rename = "u2f")]
79    U2f,
80}