use crate::clients::rest::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct V1WebhookCreateRequestOneOf {
#[serde(rename = "sourceName")]
pub source_name: SourceName,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "eventKeyExpression")]
pub event_key_expression: String,
#[serde(rename = "authType")]
pub auth_type: AuthType,
#[serde(rename = "auth")]
pub auth: Box<models::V1WebhookCreateRequestOneOfAllOfAuth>,
}
impl V1WebhookCreateRequestOneOf {
pub fn new(
source_name: SourceName,
name: String,
event_key_expression: String,
auth_type: AuthType,
auth: models::V1WebhookCreateRequestOneOfAllOfAuth,
) -> V1WebhookCreateRequestOneOf {
V1WebhookCreateRequestOneOf {
source_name,
name,
event_key_expression,
auth_type,
auth: Box::new(auth),
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SourceName {
#[serde(rename = "GENERIC")]
Generic,
#[serde(rename = "GITHUB")]
Github,
#[serde(rename = "STRIPE")]
Stripe,
}
impl Default for SourceName {
fn default() -> SourceName {
Self::Generic
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AuthType {
#[serde(rename = "BASIC")]
Basic,
}
impl Default for AuthType {
fn default() -> AuthType {
Self::Basic
}
}