use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetSettings200Response {
#[serde(rename = "workspace_id", skip_serializing_if = "Option::is_none")]
pub workspace_id: Option<String>,
#[serde(rename = "slack_name", skip_serializing_if = "Option::is_none")]
pub slack_name: Option<String>,
#[serde(rename = "slack_team_id", skip_serializing_if = "Option::is_none")]
pub slack_team_id: Option<String>,
#[serde(rename = "slack_command_script", skip_serializing_if = "Option::is_none")]
pub slack_command_script: Option<String>,
#[serde(rename = "teams_team_id", skip_serializing_if = "Option::is_none")]
pub teams_team_id: Option<String>,
#[serde(rename = "teams_command_script", skip_serializing_if = "Option::is_none")]
pub teams_command_script: Option<String>,
#[serde(rename = "teams_team_name", skip_serializing_if = "Option::is_none")]
pub teams_team_name: Option<String>,
#[serde(rename = "auto_invite_domain", skip_serializing_if = "Option::is_none")]
pub auto_invite_domain: Option<String>,
#[serde(rename = "auto_invite_operator", skip_serializing_if = "Option::is_none")]
pub auto_invite_operator: Option<bool>,
#[serde(rename = "auto_add", skip_serializing_if = "Option::is_none")]
pub auto_add: Option<bool>,
#[serde(rename = "auto_add_instance_groups", skip_serializing_if = "Option::is_none")]
pub auto_add_instance_groups: Option<Vec<String>>,
#[serde(rename = "auto_add_instance_groups_roles", skip_serializing_if = "Option::is_none")]
pub auto_add_instance_groups_roles: Option<std::collections::HashMap<String, String>>,
#[serde(rename = "plan", skip_serializing_if = "Option::is_none")]
pub plan: Option<String>,
#[serde(rename = "customer_id", skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
#[serde(rename = "webhook", skip_serializing_if = "Option::is_none")]
pub webhook: Option<String>,
#[serde(rename = "deploy_to", skip_serializing_if = "Option::is_none")]
pub deploy_to: Option<String>,
#[serde(rename = "ai_config", skip_serializing_if = "Option::is_none")]
pub ai_config: Option<Box<models::AiConfig>>,
#[serde(rename = "error_handler", skip_serializing_if = "Option::is_none")]
pub error_handler: Option<String>,
#[serde(rename = "error_handler_extra_args", skip_serializing_if = "Option::is_none")]
pub error_handler_extra_args: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "error_handler_muted_on_cancel")]
pub error_handler_muted_on_cancel: bool,
#[serde(rename = "large_file_storage", skip_serializing_if = "Option::is_none")]
pub large_file_storage: Option<Box<models::LargeFileStorage>>,
#[serde(rename = "ducklake", skip_serializing_if = "Option::is_none")]
pub ducklake: Option<Box<models::DucklakeSettings>>,
#[serde(rename = "git_sync", skip_serializing_if = "Option::is_none")]
pub git_sync: Option<Box<models::WorkspaceGitSyncSettings>>,
#[serde(rename = "deploy_ui", skip_serializing_if = "Option::is_none")]
pub deploy_ui: Option<Box<models::WorkspaceDeployUiSettings>>,
#[serde(rename = "default_app", skip_serializing_if = "Option::is_none")]
pub default_app: Option<String>,
#[serde(rename = "default_scripts", skip_serializing_if = "Option::is_none")]
pub default_scripts: Option<Box<models::WorkspaceDefaultScripts>>,
#[serde(rename = "mute_critical_alerts", skip_serializing_if = "Option::is_none")]
pub mute_critical_alerts: Option<bool>,
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(rename = "operator_settings", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub operator_settings: Option<Option<Box<models::OperatorSettings>>>,
}
impl GetSettings200Response {
pub fn new(error_handler_muted_on_cancel: bool) -> GetSettings200Response {
GetSettings200Response {
workspace_id: None,
slack_name: None,
slack_team_id: None,
slack_command_script: None,
teams_team_id: None,
teams_command_script: None,
teams_team_name: None,
auto_invite_domain: None,
auto_invite_operator: None,
auto_add: None,
auto_add_instance_groups: None,
auto_add_instance_groups_roles: None,
plan: None,
customer_id: None,
webhook: None,
deploy_to: None,
ai_config: None,
error_handler: None,
error_handler_extra_args: None,
error_handler_muted_on_cancel,
large_file_storage: None,
ducklake: None,
git_sync: None,
deploy_ui: None,
default_app: None,
default_scripts: None,
mute_critical_alerts: None,
color: None,
operator_settings: None,
}
}
}