use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodOAuth2 {
#[serde(rename = "TLSConfig", skip_serializing_if = "Option::is_none")]
pub tls_config: Option<Box<models::O11yPeriodTlsConfig>>,
#[serde(rename = "audience", skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(rename = "claims", skip_serializing_if = "Option::is_none")]
pub claims: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "client_certificate_key", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub client_certificate_key: Option<Option<serde_json::Value>>,
#[serde(rename = "client_certificate_key_file", skip_serializing_if = "Option::is_none")]
pub client_certificate_key_file: Option<String>,
#[serde(rename = "client_certificate_key_id", skip_serializing_if = "Option::is_none")]
pub client_certificate_key_id: Option<String>,
#[serde(rename = "client_certificate_key_ref", skip_serializing_if = "Option::is_none")]
pub client_certificate_key_ref: Option<String>,
#[serde(rename = "client_id", skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(rename = "client_secret", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub client_secret: Option<Option<serde_json::Value>>,
#[serde(rename = "client_secret_file", skip_serializing_if = "Option::is_none")]
pub client_secret_file: Option<String>,
#[serde(rename = "client_secret_ref", skip_serializing_if = "Option::is_none")]
pub client_secret_ref: Option<String>,
#[serde(rename = "endpoint_params", skip_serializing_if = "Option::is_none")]
pub endpoint_params: Option<std::collections::HashMap<String, String>>,
#[serde(rename = "grant_type", skip_serializing_if = "Option::is_none")]
pub grant_type: Option<String>,
#[serde(rename = "iss", skip_serializing_if = "Option::is_none")]
pub iss: Option<String>,
#[serde(rename = "no_proxy", skip_serializing_if = "Option::is_none")]
pub no_proxy: Option<String>,
#[serde(rename = "proxy_connect_header", skip_serializing_if = "Option::is_none")]
pub proxy_connect_header: Option<std::collections::HashMap<String, Vec<serde_json::Value>>>,
#[serde(rename = "proxy_from_environment", skip_serializing_if = "Option::is_none")]
pub proxy_from_environment: Option<bool>,
#[serde(rename = "proxy_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub proxy_url: Option<Option<serde_json::Value>>,
#[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
pub scopes: Option<Vec<String>>,
#[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")]
pub signature_algorithm: Option<String>,
#[serde(rename = "token_url", skip_serializing_if = "Option::is_none")]
pub token_url: Option<String>,
}
impl O11yPeriodOAuth2 {
pub fn new() -> O11yPeriodOAuth2 {
O11yPeriodOAuth2 {
tls_config: None,
audience: None,
claims: None,
client_certificate_key: None,
client_certificate_key_file: None,
client_certificate_key_id: None,
client_certificate_key_ref: None,
client_id: None,
client_secret: None,
client_secret_file: None,
client_secret_ref: None,
endpoint_params: None,
grant_type: None,
iss: None,
no_proxy: None,
proxy_connect_header: None,
proxy_from_environment: None,
proxy_url: None,
scopes: None,
signature_algorithm: None,
token_url: None,
}
}
}