use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AssetGraphTriggersInnerOneOf1 {
#[serde(rename = "trigger_kind")]
pub trigger_kind: TriggerKind,
#[serde(rename = "path")]
pub path: String,
#[serde(rename = "runnable_kind")]
pub runnable_kind: models::AssetUsageKind,
#[serde(rename = "runnable_path")]
pub runnable_path: String,
}
impl AssetGraphTriggersInnerOneOf1 {
pub fn new(trigger_kind: TriggerKind, path: String, runnable_kind: models::AssetUsageKind, runnable_path: String) -> AssetGraphTriggersInnerOneOf1 {
AssetGraphTriggersInnerOneOf1 {
trigger_kind,
path,
runnable_kind,
runnable_path,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TriggerKind {
#[serde(rename = "schedule")]
Schedule,
#[serde(rename = "email")]
Email,
#[serde(rename = "kafka")]
Kafka,
#[serde(rename = "mqtt")]
Mqtt,
#[serde(rename = "nats")]
Nats,
#[serde(rename = "postgres")]
Postgres,
#[serde(rename = "sqs")]
Sqs,
#[serde(rename = "gcp")]
Gcp,
}
impl Default for TriggerKind {
fn default() -> TriggerKind {
Self::Schedule
}
}