use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OAuth2AuthenticationPlan {
#[serde(rename = "type")]
pub r#type: TypeTrue,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "clientId")]
pub client_id: String,
#[serde(rename = "clientSecret")]
pub client_secret: String,
#[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
}
impl OAuth2AuthenticationPlan {
pub fn new(
r#type: TypeTrue,
url: String,
client_id: String,
client_secret: String,
) -> OAuth2AuthenticationPlan {
OAuth2AuthenticationPlan {
r#type,
url,
client_id,
client_secret,
scope: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TypeTrue {
#[serde(rename = "oauth2")]
Oauth2,
#[serde(rename = "aws-sts")]
AwsSts,
}
impl Default for TypeTrue {
fn default() -> TypeTrue {
Self::Oauth2
}
}