#[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.ipa_hbacrule")]
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 = "cn"
)]
pub cn: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "description"
)]
pub description: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "host"
)]
pub host: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "hostcategory"
)]
pub hostcategory: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "hostgroup"
)]
pub hostgroup: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ipa_host"
)]
pub ipa_host: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ipa_pass"
)]
pub ipa_pass: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ipa_port"
)]
pub ipa_port: OptU<i64>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ipa_prot"
)]
pub ipa_prot: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ipa_timeout"
)]
pub ipa_timeout: OptU<i64>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ipa_user"
)]
pub ipa_user: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "service"
)]
pub service: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "servicecategory"
)]
pub servicecategory: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "servicegroup"
)]
pub servicegroup: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "sourcehost"
)]
pub sourcehost: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "sourcehostcategory"
)]
pub sourcehostcategory: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "sourcehostgroup"
)]
pub sourcehostgroup: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "state"
)]
pub state: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "user"
)]
pub user: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "usercategory"
)]
pub usercategory: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "usergroup"
)]
pub usergroup: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "validate_certs"
)]
pub validate_certs: OptU<bool>,
}