#[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.gitlab_project_members")]
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 = "access_level"
)]
pub access_level: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "api_job_token"
)]
pub api_job_token: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "api_oauth_token"
)]
pub api_oauth_token: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "api_password"
)]
pub api_password: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "api_token"
)]
pub api_token: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "api_url"
)]
pub api_url: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "api_username"
)]
pub api_username: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "ca_path"
)]
pub ca_path: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "gitlab_user"
)]
pub gitlab_user: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "gitlab_users_access"
)]
pub gitlab_users_access: OptU<Vec<::serde_json::Value>>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "project"
)]
pub project: OptU<String>,
#[serde(
default = "OptU::default",
skip_serializing_if = "OptU::is_unset",
rename = "purge_users"
)]
pub purge_users: 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 = "validate_certs"
)]
pub validate_certs: OptU<bool>,
}