use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodSlackConfig {
#[serde(rename = "NotifierConfig", skip_serializing_if = "Option::is_none")]
pub notifier_config: Option<Box<models::O11yPeriodNotifierConfig>>,
#[serde(rename = "actions", skip_serializing_if = "Option::is_none")]
pub actions: Option<Vec<models::O11yPeriodSlackAction>>,
#[serde(rename = "api_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub api_url: Option<Option<serde_json::Value>>,
#[serde(rename = "api_url_file", skip_serializing_if = "Option::is_none")]
pub api_url_file: Option<String>,
#[serde(rename = "app_token", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub app_token: Option<Option<serde_json::Value>>,
#[serde(rename = "app_token_file", skip_serializing_if = "Option::is_none")]
pub app_token_file: Option<String>,
#[serde(rename = "app_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub app_url: Option<Option<serde_json::Value>>,
#[serde(rename = "callback_id", skip_serializing_if = "Option::is_none")]
pub callback_id: Option<String>,
#[serde(rename = "channel", skip_serializing_if = "Option::is_none")]
pub channel: Option<String>,
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(rename = "fallback", skip_serializing_if = "Option::is_none")]
pub fallback: Option<String>,
#[serde(rename = "fields", skip_serializing_if = "Option::is_none")]
pub fields: Option<Vec<models::O11yPeriodSlackField>>,
#[serde(rename = "footer", skip_serializing_if = "Option::is_none")]
pub footer: 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 = "image_url", skip_serializing_if = "Option::is_none")]
pub image_url: Option<String>,
#[serde(rename = "link_names", skip_serializing_if = "Option::is_none")]
pub link_names: Option<bool>,
#[serde(rename = "message_text", skip_serializing_if = "Option::is_none")]
pub message_text: Option<String>,
#[serde(rename = "mrkdwn_in", skip_serializing_if = "Option::is_none")]
pub mrkdwn_in: Option<Vec<String>>,
#[serde(rename = "pretext", skip_serializing_if = "Option::is_none")]
pub pretext: Option<String>,
#[serde(rename = "short_fields", skip_serializing_if = "Option::is_none")]
pub short_fields: Option<bool>,
#[serde(rename = "text", skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(rename = "thumb_url", skip_serializing_if = "Option::is_none")]
pub thumb_url: Option<String>,
#[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
pub timeout: Option<i32>,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "title_link", skip_serializing_if = "Option::is_none")]
pub title_link: Option<String>,
#[serde(rename = "username", skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
impl O11yPeriodSlackConfig {
pub fn new() -> O11yPeriodSlackConfig {
O11yPeriodSlackConfig {
notifier_config: None,
actions: None,
api_url: None,
api_url_file: None,
app_token: None,
app_token_file: None,
app_url: None,
callback_id: None,
channel: None,
color: None,
fallback: None,
fields: None,
footer: None,
http_config: None,
icon_emoji: None,
icon_url: None,
image_url: None,
link_names: None,
message_text: None,
mrkdwn_in: None,
pretext: None,
short_fields: None,
text: None,
thumb_url: None,
timeout: None,
title: None,
title_link: None,
username: None,
}
}
}