// Code generated by oagen. DO NOT EDIT.
#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EnrollUserAuthenticationFactor {
/// The type of the factor to enroll.
#[serde(rename = "type")]
pub type_: String,
/// Your application or company name displayed in the user's authenticator app.
#[serde(skip_serializing_if = "Option::is_none", default)]
pub totp_issuer: Option<String>,
/// The user's account name displayed in their authenticator app.
#[serde(skip_serializing_if = "Option::is_none", default)]
pub totp_user: Option<String>,
/// The Base32-encoded shared secret for TOTP factors. This can be provided when creating the auth factor, otherwise it will be generated. The algorithm used to derive TOTP codes is SHA-1, the code length is 6 digits, and the timestep is 30 seconds – the secret must be compatible with these parameters.
#[serde(skip_serializing_if = "Option::is_none", default)]
pub totp_secret: Option<crate::SecretString>,
}