#[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.redhat_subscription")]
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 activationkey: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub auto_attach: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub consumer_id: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub consumer_name: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub consumer_type: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub environment: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub force_register: OptU<bool>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub org_id: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub password: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub pool_ids: OptU<Vec<::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub release: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub rhsm_baseurl: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub rhsm_repo_ca_cert: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_hostname: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_insecure: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_port: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_prefix: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_proxy_hostname: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_proxy_password: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_proxy_port: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_proxy_scheme: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub server_proxy_user: OptU<String>,
#[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 syspurpose: OptU<indexmap::IndexMap<String, ::serde_json::Value>>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub token: OptU<String>,
#[serde(default = "OptU::default", skip_serializing_if = "OptU::is_unset")]
pub username: OptU<String>,
}