use kube_derive::CustomResource;
#[cfg(feature = "schemars")]
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use std::collections::BTreeMap;
#[cfg(feature = "builder")]
use typed_builder::TypedBuilder;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(not(feature = "schemars"), kube(schema = "disabled"))]
#[kube(
group = "upgrade.cattle.io",
version = "v1",
kind = "Plan",
plural = "plans"
)]
#[kube(namespaced)]
#[kube(status = "PlanStatus")]
pub struct PlanSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub channel: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub concurrency: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cordon: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub drain: Option<PlanDrain>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeSelector"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_selector: Option<PlanNodeSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub prepare: Option<PlanPrepare>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secrets: Option<Vec<PlanSecrets>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serviceAccountName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tolerations: Option<Vec<PlanTolerations>>,
pub upgrade: PlanUpgrade,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanDrain {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "deleteEmptydirData"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub delete_emptydir_data: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "deleteLocalData"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub delete_local_data: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "disableEviction"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub disable_eviction: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub force: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gracePeriod"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grace_period: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "ignoreDaemonSets"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ignore_daemon_sets: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podSelector"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_selector: Option<PlanDrainPodSelector>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "skipWaitForDeleteTimeout"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub skip_wait_for_delete_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanDrainPodSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PlanDrainPodSelectorMatchExpressions>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchLabels"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanDrainPodSelectorMatchExpressions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanNodeSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PlanNodeSelectorMatchExpressions>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchLabels"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanNodeSelectorMatchExpressions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepare {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env_from: Option<Vec<PlanPrepareEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub envs: Option<Vec<PlanPrepareEnvs>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volumes: Option<Vec<PlanPrepareVolumes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_ref: Option<PlanPrepareEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PlanPrepareEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvs {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value_from: Option<PlanPrepareEnvsValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvsValueFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_key_ref: Option<PlanPrepareEnvsValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<PlanPrepareEnvsValueFromFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref: Option<PlanPrepareEnvsValueFromResourceFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_key_ref: Option<PlanPrepareEnvsValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvsValueFromConfigMapKeyRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvsValueFromFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "apiVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldPath")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvsValueFromResourceFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "containerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub divisor: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareEnvsValueFromSecretKeyRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanPrepareVolumes {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub destination: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub source: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub operator: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "tolerationSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgrade {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env_from: Option<Vec<PlanUpgradeEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub envs: Option<Vec<PlanUpgradeEnvs>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volumes: Option<Vec<PlanUpgradeVolumes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_ref: Option<PlanUpgradeEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PlanUpgradeEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvs {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value_from: Option<PlanUpgradeEnvsValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvsValueFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_key_ref: Option<PlanUpgradeEnvsValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<PlanUpgradeEnvsValueFromFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref: Option<PlanUpgradeEnvsValueFromResourceFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_key_ref: Option<PlanUpgradeEnvsValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvsValueFromConfigMapKeyRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvsValueFromFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "apiVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldPath")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvsValueFromResourceFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "containerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub divisor: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeEnvsValueFromSecretKeyRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanUpgradeVolumes {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub destination: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub source: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub applying: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub conditions: Option<Vec<PlanStatusConditions>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "latestHash"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub latest_hash: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "latestVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub latest_version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PlanStatusConditions {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "lastTransitionTime"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub last_transition_time: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "lastUpdateTime"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub last_update_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
}