use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PveRealmOpenidConfig {
#[serde(rename = "issuer-url")]
pub issuer_url: String,
#[serde(rename = "client-id")]
pub client_id: String,
#[serde(rename = "client-key", skip_serializing_if = "Option::is_none")]
pub client_key: Option<String>,
#[serde(rename = "autocreate", skip_serializing_if = "Option::is_none")]
pub autocreate: Option<models::PveBoolean>,
#[serde(rename = "username-claim", skip_serializing_if = "Option::is_none")]
pub username_claim: Option<String>,
#[serde(rename = "groups-claim", skip_serializing_if = "Option::is_none")]
pub groups_claim: Option<String>,
#[serde(rename = "groups-autocreate", skip_serializing_if = "Option::is_none")]
pub groups_autocreate: Option<models::PveBoolean>,
#[serde(rename = "groups-overwrite", skip_serializing_if = "Option::is_none")]
pub groups_overwrite: Option<models::PveBoolean>,
#[serde(rename = "prompt", skip_serializing_if = "Option::is_none")]
pub prompt: Option<String>,
#[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
pub scopes: Option<String>,
#[serde(rename = "acr-values", skip_serializing_if = "Option::is_none")]
pub acr_values: Option<String>,
#[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 = "query-userinfo", skip_serializing_if = "Option::is_none")]
pub query_userinfo: Option<models::PveBoolean>,
#[serde(rename = "type")]
pub r#type: Type,
}
impl PveRealmOpenidConfig {
pub fn new(issuer_url: String, client_id: String, r#type: Type) -> PveRealmOpenidConfig {
PveRealmOpenidConfig {
issuer_url,
client_id,
client_key: None,
autocreate: None,
username_claim: None,
groups_claim: None,
groups_autocreate: None,
groups_overwrite: None,
prompt: None,
scopes: None,
acr_values: None,
default: None,
comment: None,
query_userinfo: None,
r#type,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "openid")]
Openid,
}
impl Default for Type {
fn default() -> Type {
Self::Openid
}
}