#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "zookeeper.stackable.tech", version = "v1alpha1", kind = "ZookeeperCluster", plural = "zookeeperclusters")]
#[kube(namespaced)]
#[kube(status = "ZookeeperClusterStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ZookeeperClusterSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterConfig")]
pub cluster_config: Option<ZookeeperClusterClusterConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterOperation")]
pub cluster_operation: Option<ZookeeperClusterClusterOperation>,
pub image: ZookeeperClusterImage,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectOverrides")]
pub object_overrides: Option<Vec<BTreeMap<String, serde_json::Value>>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub servers: Option<ZookeeperClusterServers>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterClusterConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication: Option<Vec<ZookeeperClusterClusterConfigAuthentication>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<ZookeeperClusterClusterConfigTls>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vectorAggregatorConfigMapName")]
pub vector_aggregator_config_map_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterClusterConfigAuthentication {
#[serde(rename = "authenticationClass")]
pub authentication_class: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterClusterConfigTls {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "quorumSecretClass")]
pub quorum_secret_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverSecretClass")]
pub server_secret_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterClusterOperation {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "reconciliationPaused")]
pub reconciliation_paused: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stopped: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterImage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "productVersion")]
pub product_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullPolicy")]
pub pull_policy: Option<ZookeeperClusterImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullSecrets")]
pub pull_secrets: Option<Vec<ZookeeperClusterImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repo: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stackableVersion")]
pub stackable_version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ZookeeperClusterImagePullPolicy {
IfNotPresent,
Always,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterImagePullSecrets {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServers {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cliOverrides")]
pub cli_overrides: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub config: Option<ZookeeperClusterServersConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configOverrides")]
pub config_overrides: Option<BTreeMap<String, BTreeMap<String, String>>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envOverrides")]
pub env_overrides: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jvmArgumentOverrides")]
pub jvm_argument_overrides: Option<ZookeeperClusterServersJvmArgumentOverrides>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleConfig")]
pub role_config: Option<ZookeeperClusterServersRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, ZookeeperClusterServersRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<ZookeeperClusterServersConfigAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gracefulShutdownTimeout")]
pub graceful_shutdown_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initLimit")]
pub init_limit: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<ZookeeperClusterServersConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "myidOffset")]
pub myid_offset: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requestedSecretLifetime")]
pub requested_secret_lifetime: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<ZookeeperClusterServersConfigResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "syncLimit")]
pub sync_limit: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tickTime")]
pub tick_time: Option<u32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<BTreeMap<String, serde_json::Value>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, ZookeeperClusterServersConfigLoggingContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableVectorAgent")]
pub enable_vector_agent: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<ZookeeperClusterServersConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<ZookeeperClusterServersConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<ZookeeperClusterServersConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, ZookeeperClusterServersConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<ZookeeperClusterServersConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ZookeeperClusterServersConfigLoggingContainersConsoleLevel {
#[serde(rename = "TRACE")]
Trace,
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "NONE")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<ZookeeperClusterServersConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ZookeeperClusterServersConfigLoggingContainersFileLevel {
#[serde(rename = "TRACE")]
Trace,
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "NONE")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<ZookeeperClusterServersConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ZookeeperClusterServersConfigLoggingContainersLoggersLevel {
#[serde(rename = "TRACE")]
Trace,
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "NONE")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<ZookeeperClusterServersConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<ZookeeperClusterServersConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<ZookeeperClusterServersConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResourcesCpu {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub min: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResourcesMemory {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeLimits")]
pub runtime_limits: Option<ZookeeperClusterServersConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<ZookeeperClusterServersConfigResourcesStorageData>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResourcesStorageData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<ZookeeperClusterServersConfigResourcesStorageDataSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResourcesStorageDataSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ZookeeperClusterServersConfigResourcesStorageDataSelectorsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersConfigResourcesStorageDataSelectorsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersJvmArgumentOverrides {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remove: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "removeRegex")]
pub remove_regex: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "listenerClass")]
pub listener_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<ZookeeperClusterServersRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleConfigPodDisruptionBudget {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUnavailable")]
pub max_unavailable: Option<u16>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroups {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cliOverrides")]
pub cli_overrides: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub config: Option<ZookeeperClusterServersRoleGroupsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configOverrides")]
pub config_overrides: Option<BTreeMap<String, BTreeMap<String, String>>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envOverrides")]
pub env_overrides: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jvmArgumentOverrides")]
pub jvm_argument_overrides: Option<ZookeeperClusterServersRoleGroupsJvmArgumentOverrides>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replicas: Option<u16>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<ZookeeperClusterServersRoleGroupsConfigAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gracefulShutdownTimeout")]
pub graceful_shutdown_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initLimit")]
pub init_limit: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<ZookeeperClusterServersRoleGroupsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "myidOffset")]
pub myid_offset: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requestedSecretLifetime")]
pub requested_secret_lifetime: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<ZookeeperClusterServersRoleGroupsConfigResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "syncLimit")]
pub sync_limit: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tickTime")]
pub tick_time: Option<u32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<BTreeMap<String, serde_json::Value>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, ZookeeperClusterServersRoleGroupsConfigLoggingContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableVectorAgent")]
pub enable_vector_agent: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<ZookeeperClusterServersRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<ZookeeperClusterServersRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<ZookeeperClusterServersRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, ZookeeperClusterServersRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<ZookeeperClusterServersRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ZookeeperClusterServersRoleGroupsConfigLoggingContainersConsoleLevel {
#[serde(rename = "TRACE")]
Trace,
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "NONE")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<ZookeeperClusterServersRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ZookeeperClusterServersRoleGroupsConfigLoggingContainersFileLevel {
#[serde(rename = "TRACE")]
Trace,
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "NONE")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<ZookeeperClusterServersRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ZookeeperClusterServersRoleGroupsConfigLoggingContainersLoggersLevel {
#[serde(rename = "TRACE")]
Trace,
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "NONE")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<ZookeeperClusterServersRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<ZookeeperClusterServersRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<ZookeeperClusterServersRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResourcesCpu {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub min: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResourcesMemory {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeLimits")]
pub runtime_limits: Option<ZookeeperClusterServersRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<ZookeeperClusterServersRoleGroupsConfigResourcesStorageData>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResourcesStorageData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<ZookeeperClusterServersRoleGroupsConfigResourcesStorageDataSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResourcesStorageDataSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ZookeeperClusterServersRoleGroupsConfigResourcesStorageDataSelectorsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsConfigResourcesStorageDataSelectorsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterServersRoleGroupsJvmArgumentOverrides {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remove: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "removeRegex")]
pub remove_regex: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ZookeeperClusterStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "discoveryHash")]
pub discovery_hash: Option<String>,
}