use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodRocketchatConfig {
#[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::O11yPeriodRocketchatAttachmentAction>>,
#[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 = "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 = "emoji", skip_serializing_if = "Option::is_none")]
pub emoji: Option<String>,
#[serde(rename = "fields", skip_serializing_if = "Option::is_none")]
pub fields: Option<Vec<models::O11yPeriodRocketchatAttachmentField>>,
#[serde(rename = "http_config", skip_serializing_if = "Option::is_none")]
pub http_config: Option<Box<models::O11yPeriodHttpClientConfig>>,
#[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 = "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 = "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 = "token", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub token: Option<Option<serde_json::Value>>,
#[serde(rename = "token_file", skip_serializing_if = "Option::is_none")]
pub token_file: Option<String>,
#[serde(rename = "token_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub token_id: Option<Option<serde_json::Value>>,
#[serde(rename = "token_id_file", skip_serializing_if = "Option::is_none")]
pub token_id_file: Option<String>,
}
impl O11yPeriodRocketchatConfig {
pub fn new() -> O11yPeriodRocketchatConfig {
O11yPeriodRocketchatConfig {
notifier_config: None,
actions: None,
api_url: None,
channel: None,
color: None,
emoji: None,
fields: None,
http_config: None,
icon_url: None,
image_url: None,
link_names: None,
short_fields: None,
text: None,
thumb_url: None,
title: None,
title_link: None,
token: None,
token_file: None,
token_id: None,
token_id_file: None,
}
}
}