use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodMattermostConfig {
#[serde(rename = "NotifierConfig", skip_serializing_if = "Option::is_none")]
pub notifier_config: Option<Box<models::O11yPeriodNotifierConfig>>,
#[serde(rename = "attachments", skip_serializing_if = "Option::is_none")]
pub attachments: Option<Vec<models::O11yPeriodMattermostAttachment>>,
#[serde(rename = "channel", skip_serializing_if = "Option::is_none")]
pub channel: Option<String>,
#[serde(rename = "http_config", skip_serializing_if = "Option::is_none")]
pub http_config: Option<Box<models::O11yPeriodHttpClientConfig>>,
#[serde(rename = "icon_emoji", skip_serializing_if = "Option::is_none")]
pub icon_emoji: Option<String>,
#[serde(rename = "icon_url", skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
pub priority: Option<Box<models::O11yPeriodMattermostPriority>>,
#[serde(rename = "props", skip_serializing_if = "Option::is_none")]
pub props: Option<Box<models::O11yPeriodMattermostProps>>,
#[serde(rename = "text", skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(rename = "username", skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(rename = "webhook_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub webhook_url: Option<Option<serde_json::Value>>,
#[serde(rename = "webhook_url_file", skip_serializing_if = "Option::is_none")]
pub webhook_url_file: Option<String>,
}
impl O11yPeriodMattermostConfig {
pub fn new() -> O11yPeriodMattermostConfig {
O11yPeriodMattermostConfig {
notifier_config: None,
attachments: None,
channel: None,
http_config: None,
icon_emoji: None,
icon_url: None,
priority: None,
props: None,
text: None,
r#type: None,
username: None,
webhook_url: None,
webhook_url_file: None,
}
}
}