hanzo-client 8.5.156

Generated client for the Hanzo API — every service, one crate.
Documentation
/*
 * Hanzo Cloud API
 *
 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

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>,
    /// Slack channel override, (like #other-channel or @username).
    #[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>,
    /// Timeout is the maximum time allowed to invoke the slack. Setting this to 0 does not impose a timeout.
    #[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,
        }
    }
}