#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct UpdateClusterRequest {
#[serde(
rename = "name",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub name: Option<Option<String>>,
#[serde(
rename = "description",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub description: Option<Option<String>>,
#[serde(
rename = "tags",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub tags: Option<Option<Vec<String>>>,
#[serde(rename = "autoscaler_config", skip_serializing_if = "Option::is_none")]
pub autoscaler_config: Option<Box<crate::models::UpdateClusterRequestAutoscalerConfig>>,
#[serde(
rename = "enable_dashboard",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub enable_dashboard: Option<Option<bool>>,
#[serde(rename = "ingress", skip_serializing_if = "Option::is_none")]
pub ingress: Option<Ingress>,
#[serde(rename = "auto_upgrade", skip_serializing_if = "Option::is_none")]
pub auto_upgrade: Option<Box<crate::models::UpdateClusterRequestAutoUpgrade>>,
#[serde(
rename = "feature_gates",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub feature_gates: Option<Option<Vec<String>>>,
#[serde(
rename = "admission_plugins",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub admission_plugins: Option<Option<Vec<String>>>,
#[serde(
rename = "open_id_connect_config",
skip_serializing_if = "Option::is_none"
)]
pub open_id_connect_config: Option<Box<crate::models::UpdateClusterRequestOpenIdConnectConfig>>,
#[serde(
rename = "apiserver_cert_sans",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub apiserver_cert_sans: Option<Option<Vec<String>>>,
}
impl UpdateClusterRequest {
pub fn new() -> UpdateClusterRequest {
UpdateClusterRequest {
name: None,
description: None,
tags: None,
autoscaler_config: None,
enable_dashboard: None,
ingress: None,
auto_upgrade: None,
feature_gates: None,
admission_plugins: None,
open_id_connect_config: None,
apiserver_cert_sans: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Ingress {
#[serde(rename = "unknown_ingress")]
UnknownIngress,
#[serde(rename = "none")]
None,
#[serde(rename = "nginx")]
Nginx,
#[serde(rename = "traefik")]
Traefik,
#[serde(rename = "traefik2")]
Traefik2,
}
impl Default for Ingress {
fn default() -> Ingress {
Self::UnknownIngress
}
}