use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodHttpClientConfig {
#[serde(rename = "authorization", skip_serializing_if = "Option::is_none")]
pub authorization: Option<Box<models::O11yPeriodAuthorization>>,
#[serde(rename = "basic_auth", skip_serializing_if = "Option::is_none")]
pub basic_auth: Option<Box<models::O11yPeriodBasicAuth>>,
#[serde(rename = "bearer_token", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub bearer_token: Option<Option<serde_json::Value>>,
#[serde(rename = "bearer_token_file", skip_serializing_if = "Option::is_none")]
pub bearer_token_file: Option<String>,
#[serde(rename = "enable_http2", skip_serializing_if = "Option::is_none")]
pub enable_http2: Option<bool>,
#[serde(rename = "follow_redirects", skip_serializing_if = "Option::is_none")]
pub follow_redirects: Option<bool>,
#[serde(rename = "http_headers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub http_headers: Option<Option<serde_json::Value>>,
#[serde(rename = "no_proxy", skip_serializing_if = "Option::is_none")]
pub no_proxy: Option<String>,
#[serde(rename = "oauth2", skip_serializing_if = "Option::is_none")]
pub oauth2: Option<Box<models::O11yPeriodOAuth2>>,
#[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 = "tls_config", skip_serializing_if = "Option::is_none")]
pub tls_config: Option<Box<models::O11yPeriodTlsConfig>>,
}
impl O11yPeriodHttpClientConfig {
pub fn new() -> O11yPeriodHttpClientConfig {
O11yPeriodHttpClientConfig {
authorization: None,
basic_auth: None,
bearer_token: None,
bearer_token_file: None,
enable_http2: None,
follow_redirects: None,
http_headers: None,
no_proxy: None,
oauth2: None,
proxy_connect_header: None,
proxy_from_environment: None,
proxy_url: None,
tls_config: None,
}
}
}