#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateCustomProviderDefinition {
#[serde(skip_serializing_if = "Option::is_none", default)]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub authorization_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub token_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub refresh_token_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub pkce_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub request_scope_separator: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub scopes_required: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub client_secret_required: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub additional_authorization_parameters: Option<std::collections::HashMap<String, String>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub token_body_content_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub authenticate_via: Option<UpdateCustomProviderDefinitionAuthenticateVia>,
}