#[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 = "ansible.builtin.unarchive")]
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 attributes: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub copy: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub creates: OptU<std::path::PathBuf>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub decrypt: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub dest: OptU<std::path::PathBuf>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub exclude: OptU<Vec<::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub extra_opts: OptU<Vec<::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub group: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub include: OptU<Vec<::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub io_buffer_size: OptU<i64>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub keep_newer: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub list_files: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub mode: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub owner: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub remote_src: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub selevel: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub serole: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub setype: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub seuser: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub src: OptU<std::path::PathBuf>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub unsafe_writes: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub validate_certs: OptU<bool>,
}