use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct O11yPeriodJiraConfig {
#[serde(rename = "NotifierConfig", skip_serializing_if = "Option::is_none")]
pub notifier_config: Option<Box<models::O11yPeriodNotifierConfig>>,
#[serde(rename = "api_type", skip_serializing_if = "Option::is_none")]
pub api_type: 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, serde_json::Value>>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<Box<models::O11yPeriodJiraFieldConfig>>,
#[serde(rename = "http_config", skip_serializing_if = "Option::is_none")]
pub http_config: Option<Box<models::O11yPeriodHttpClientConfig>>,
#[serde(rename = "issue_type", skip_serializing_if = "Option::is_none")]
pub issue_type: Option<String>,
#[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
pub labels: Option<Vec<String>>,
#[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
pub priority: Option<String>,
#[serde(rename = "project", skip_serializing_if = "Option::is_none")]
pub project: Option<String>,
#[serde(rename = "reopen_duration", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub reopen_duration: Option<Option<serde_json::Value>>,
#[serde(rename = "reopen_transition", skip_serializing_if = "Option::is_none")]
pub reopen_transition: Option<String>,
#[serde(rename = "resolve_transition", skip_serializing_if = "Option::is_none")]
pub resolve_transition: Option<String>,
#[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
pub summary: Option<Box<models::O11yPeriodJiraFieldConfig>>,
#[serde(rename = "wont_fix_resolution", skip_serializing_if = "Option::is_none")]
pub wont_fix_resolution: Option<String>,
}
impl O11yPeriodJiraConfig {
pub fn new() -> O11yPeriodJiraConfig {
O11yPeriodJiraConfig {
notifier_config: None,
api_type: None,
api_url: None,
custom_fields: None,
description: None,
http_config: None,
issue_type: None,
labels: None,
priority: None,
project: None,
reopen_duration: None,
reopen_transition: None,
resolve_transition: None,
summary: None,
wont_fix_resolution: None,
}
}
}