#[allow(unused_imports, reason = "Some modules may have empty `options` field")]
use cdk_ansible::OptU;
use cdk_ansible::TaskModule;
use serde::Serialize;
#[derive(Clone, Debug, Serialize)]
pub struct Module {
#[serde(rename = "community.general.datadog_monitor")]
pub module: Args,
}
impl TaskModule for Module {}
#[derive(Clone, Debug, Serialize)]
pub struct Args {
#[serde(flatten)]
pub options: Opt,
}
#[derive(Clone, Debug, Default, Serialize)]
#[serde(rename_all = "snake_case")]
pub struct Opt {
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub api_host: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub api_key: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub app_key: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub escalation_message: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub evaluation_delay: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub id: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub include_tags: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub locked: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub name: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub new_host_delay: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub no_data_timeframe: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub notification_message: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub notification_preset_name: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub notify_audit: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub notify_no_data: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub priority: OptU<i64>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub query: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub renotify_interval: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub renotify_occurrences: OptU<i64>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub renotify_statuses: OptU<Vec<::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub require_full_window: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub silenced: OptU<indexmap::IndexMap<String, ::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub state: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub tags: OptU<Vec<::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub thresholds: OptU<indexmap::IndexMap<String, ::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub timeout_h: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub type_x_: OptU<String>,
}