#[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.clc_firewall_policy")]
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 = "destination"
)]
pub destination: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "destination_account_alias"
)]
pub destination_account_alias: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "enabled"
)]
pub enabled: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "firewall_policy_id"
)]
pub firewall_policy_id: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "location"
)]
pub location: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ports"
)]
pub ports: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "source"
)]
pub source: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "source_account_alias"
)]
pub source_account_alias: OptU<String>,
#[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 = "wait"
)]
pub wait: OptU<String>,
}