use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct QueueConsumerApplicationSettings {
#[serde(rename = "flowEndApplication", skip_serializing_if = "Option::is_none")]
pub flow_end_application: Option<Box<models::ResourceReference>>,
#[serde(rename = "prompts", skip_serializing_if = "Option::is_none")]
pub prompts: Option<Vec<models::ApplicationPrompt>>,
#[serde(rename = "queue")]
pub queue: Box<models::ResourceReference>,
#[serde(rename = "queueExperience", skip_serializing_if = "Option::is_none")]
pub queue_experience: Option<Box<models::ResourceReference>>,
#[serde(rename = "agentExperience", skip_serializing_if = "Option::is_none")]
pub agent_experience: Option<Box<models::ResourceReference>>,
#[serde(rename = "trigger")]
pub trigger: Box<models::ApplicationSettingsTrigger>,
#[serde(rename = "exitTrigger", skip_serializing_if = "Option::is_none")]
pub exit_trigger: Option<Box<models::ApplicationSettingsTrigger>>,
#[serde(rename = "recordTrigger", skip_serializing_if = "Option::is_none")]
pub record_trigger: Option<Box<models::ApplicationSettingsTrigger>>,
#[serde(rename = "ringTime", skip_serializing_if = "Option::is_none")]
pub ring_time: Option<i32>,
#[serde(rename = "record", skip_serializing_if = "Option::is_none")]
pub record: Option<bool>,
}
impl QueueConsumerApplicationSettings {
pub fn new(
queue: models::ResourceReference,
trigger: models::ApplicationSettingsTrigger,
) -> QueueConsumerApplicationSettings {
QueueConsumerApplicationSettings {
flow_end_application: None,
prompts: None,
queue: Box::new(queue),
queue_experience: None,
agent_experience: None,
trigger: Box::new(trigger),
exit_trigger: None,
record_trigger: None,
ring_time: None,
record: None,
}
}
}