use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodVictorOpsConfig {
#[serde(rename = "NotifierConfig", skip_serializing_if = "Option::is_none")]
pub notifier_config: Option<Box<models::O11yPeriodNotifierConfig>>,
#[serde(rename = "api_key", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub api_key: Option<Option<serde_json::Value>>,
#[serde(rename = "api_key_file", skip_serializing_if = "Option::is_none")]
pub api_key_file: Option<String>,
#[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 = "custom_fields", skip_serializing_if = "Option::is_none")]
pub custom_fields: Option<std::collections::HashMap<String, String>>,
#[serde(rename = "entity_display_name", skip_serializing_if = "Option::is_none")]
pub entity_display_name: Option<String>,
#[serde(rename = "http_config", skip_serializing_if = "Option::is_none")]
pub http_config: Option<Box<models::O11yPeriodHttpClientConfig>>,
#[serde(rename = "message_type", skip_serializing_if = "Option::is_none")]
pub message_type: Option<String>,
#[serde(rename = "monitoring_tool", skip_serializing_if = "Option::is_none")]
pub monitoring_tool: Option<String>,
#[serde(rename = "routing_key", skip_serializing_if = "Option::is_none")]
pub routing_key: Option<String>,
#[serde(rename = "state_message", skip_serializing_if = "Option::is_none")]
pub state_message: Option<String>,
}
impl O11yPeriodVictorOpsConfig {
pub fn new() -> O11yPeriodVictorOpsConfig {
O11yPeriodVictorOpsConfig {
notifier_config: None,
api_key: None,
api_key_file: None,
api_url: None,
custom_fields: None,
entity_display_name: None,
http_config: None,
message_type: None,
monitoring_tool: None,
routing_key: None,
state_message: None,
}
}
}