use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct HttpStoreAuth {
#[serde(rename = "type")]
pub r#type: Type,
#[serde(rename = "header_name", skip_serializing_if = "Option::is_none")]
pub header_name: Option<String>,
#[serde(rename = "header_value", skip_serializing_if = "Option::is_none")]
pub header_value: Option<String>,
#[serde(rename = "token_path", skip_serializing_if = "Option::is_none")]
pub token_path: Option<String>,
#[serde(rename = "prefix", skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(rename = "cert_path", skip_serializing_if = "Option::is_none")]
pub cert_path: Option<String>,
#[serde(rename = "key_path", skip_serializing_if = "Option::is_none")]
pub key_path: Option<String>,
#[serde(rename = "reload_interval_secs", skip_serializing_if = "Option::is_none")]
pub reload_interval_secs: Option<i32>,
}
impl HttpStoreAuth {
pub fn new(r#type: Type) -> HttpStoreAuth {
HttpStoreAuth {
r#type,
header_name: None,
header_value: None,
token_path: None,
prefix: None,
cert_path: None,
key_path: None,
reload_interval_secs: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "None")]
None,
#[serde(rename = "StaticHeader")]
StaticHeader,
#[serde(rename = "BearerTokenFile")]
BearerTokenFile,
#[serde(rename = "ClientCertificate")]
ClientCertificate,
}
impl Default for Type {
fn default() -> Type {
Self::None
}
}