#[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.sl_vm")]
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 cpus: OptU<i64>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub datacenter: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub dedicated: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub disks: OptU<Vec<::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub domain: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub flavor: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub hostname: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub hourly: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub image_id: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub instance_id: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub local_disk: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub memory: OptU<i64>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub nic_speed: OptU<i64>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub os_code: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub post_uri: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub private: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub private_vlan: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub public_vlan: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub ssh_keys: OptU<Vec<::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<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub wait: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub wait_time: OptU<i64>,
}