use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FlowModule {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "value")]
pub value: Box<models::FlowModuleValue>,
#[serde(rename = "stop_after_if", skip_serializing_if = "Option::is_none")]
pub stop_after_if: Option<Box<models::StopAfterIf>>,
#[serde(rename = "stop_after_all_iters_if", skip_serializing_if = "Option::is_none")]
pub stop_after_all_iters_if: Option<Box<models::StopAfterIf>>,
#[serde(rename = "skip_if", skip_serializing_if = "Option::is_none")]
pub skip_if: Option<Box<models::FlowModuleSkipIf>>,
#[serde(rename = "sleep", skip_serializing_if = "Option::is_none")]
pub sleep: Option<Box<models::InputTransform>>,
#[serde(rename = "cache_ttl", skip_serializing_if = "Option::is_none")]
pub cache_ttl: Option<f64>,
#[serde(rename = "cache_ignore_s3_path", skip_serializing_if = "Option::is_none")]
pub cache_ignore_s3_path: Option<bool>,
#[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
pub timeout: Option<Box<models::InputTransform>>,
#[serde(rename = "delete_after_secs", skip_serializing_if = "Option::is_none")]
pub delete_after_secs: Option<i32>,
#[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
#[serde(rename = "mock", skip_serializing_if = "Option::is_none")]
pub mock: Option<Box<models::FlowModuleMock>>,
#[serde(rename = "suspend", skip_serializing_if = "Option::is_none")]
pub suspend: Option<Box<models::FlowModuleSuspend>>,
#[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
pub priority: Option<f64>,
#[serde(rename = "continue_on_error", skip_serializing_if = "Option::is_none")]
pub continue_on_error: Option<bool>,
#[serde(rename = "retry", skip_serializing_if = "Option::is_none")]
pub retry: Option<Box<models::Retry>>,
#[serde(rename = "debouncing", skip_serializing_if = "Option::is_none")]
pub debouncing: Option<Box<models::FlowModuleDebouncing>>,
}
impl FlowModule {
pub fn new(id: String, value: models::FlowModuleValue) -> FlowModule {
FlowModule {
id,
value: Box::new(value),
stop_after_if: None,
stop_after_all_iters_if: None,
skip_if: None,
sleep: None,
cache_ttl: None,
cache_ignore_s3_path: None,
timeout: None,
delete_after_secs: None,
summary: None,
mock: None,
suspend: None,
priority: None,
continue_on_error: None,
retry: None,
debouncing: None,
}
}
}