#[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.mail")]
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",
rename = "attach"
)]
pub attach: OptU<::cdk_ansible::StringOrVec>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "bcc"
)]
pub bcc: OptU<::cdk_ansible::StringOrVec>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "body"
)]
pub body: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "cc"
)]
pub cc: OptU<::cdk_ansible::StringOrVec>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "charset"
)]
pub charset: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ehlohost"
)]
pub ehlohost: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "headers"
)]
pub headers: OptU<::cdk_ansible::StringOrVec>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "host"
)]
pub host: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "message_id_domain"
)]
pub message_id_domain: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "password"
)]
pub password: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "port"
)]
pub port: OptU<::cdk_ansible::IntOrString>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "secure"
)]
pub secure: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "sender"
)]
pub sender: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "subject"
)]
pub subject: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "subtype"
)]
pub subtype: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "timeout"
)]
pub timeout: OptU<::cdk_ansible::IntOrString>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "to"
)]
pub to: OptU<::cdk_ansible::StringOrVec>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "username"
)]
pub username: OptU<String>,
}