use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PveRealmAdConfig {
#[serde(rename = "server1")]
pub server1: String,
#[serde(rename = "server2", skip_serializing_if = "Option::is_none")]
pub server2: Option<String>,
#[serde(rename = "domain")]
pub domain: String,
#[serde(rename = "port", skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "secure", skip_serializing_if = "Option::is_none")]
pub secure: Option<models::PveBoolean>,
#[serde(rename = "sslversion", skip_serializing_if = "Option::is_none")]
pub sslversion: Option<models::PveSslversionEnum>,
#[serde(rename = "default", skip_serializing_if = "Option::is_none")]
pub default: Option<models::PveBoolean>,
#[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(rename = "tfa", skip_serializing_if = "Option::is_none")]
pub tfa: Option<String>,
#[serde(rename = "verify", skip_serializing_if = "Option::is_none")]
pub verify: Option<models::PveBoolean>,
#[serde(rename = "capath", skip_serializing_if = "Option::is_none")]
pub capath: Option<String>,
#[serde(rename = "cert", skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
#[serde(rename = "certkey", skip_serializing_if = "Option::is_none")]
pub certkey: Option<String>,
#[serde(rename = "base_dn", skip_serializing_if = "Option::is_none")]
pub base_dn: Option<String>,
#[serde(rename = "bind_dn", skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
#[serde(rename = "password", skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(rename = "user_attr", skip_serializing_if = "Option::is_none")]
pub user_attr: Option<String>,
#[serde(rename = "filter", skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
#[serde(rename = "sync_attributes", skip_serializing_if = "Option::is_none")]
pub sync_attributes: Option<String>,
#[serde(rename = "user_classes", skip_serializing_if = "Option::is_none")]
pub user_classes: Option<String>,
#[serde(rename = "group_dn", skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
#[serde(rename = "group_name_attr", skip_serializing_if = "Option::is_none")]
pub group_name_attr: Option<String>,
#[serde(rename = "group_filter", skip_serializing_if = "Option::is_none")]
pub group_filter: Option<String>,
#[serde(rename = "group_classes", skip_serializing_if = "Option::is_none")]
pub group_classes: Option<String>,
#[serde(rename = "sync-defaults-options", skip_serializing_if = "Option::is_none")]
pub sync_defaults_options: Option<String>,
#[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
pub mode: Option<models::PveModeEnum>,
#[serde(rename = "case-sensitive", skip_serializing_if = "Option::is_none")]
pub case_sensitive: Option<models::PveBoolean>,
#[serde(rename = "type")]
pub r#type: Type,
}
impl PveRealmAdConfig {
pub fn new(server1: String, domain: String, r#type: Type) -> PveRealmAdConfig {
PveRealmAdConfig {
server1,
server2: None,
domain,
port: None,
secure: None,
sslversion: None,
default: None,
comment: None,
tfa: None,
verify: None,
capath: None,
cert: None,
certkey: None,
base_dn: None,
bind_dn: None,
password: None,
user_attr: None,
filter: None,
sync_attributes: None,
user_classes: None,
group_dn: None,
group_name_attr: None,
group_filter: None,
group_classes: None,
sync_defaults_options: None,
mode: None,
case_sensitive: None,
r#type,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "ad")]
Ad,
}
impl Default for Type {
fn default() -> Type {
Self::Ad
}
}