#[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 = "hdfs.stackable.tech", version = "v1alpha1", kind = "HdfsCluster", plural = "hdfsclusters")]
#[kube(namespaced)]
#[kube(status = "HdfsClusterStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct HdfsClusterSpec {
#[serde(rename = "clusterConfig")]
pub cluster_config: HdfsClusterClusterConfig,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterOperation")]
pub cluster_operation: Option<HdfsClusterClusterOperation>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataNodes")]
pub data_nodes: Option<HdfsClusterDataNodes>,
pub image: HdfsClusterImage,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "journalNodes")]
pub journal_nodes: Option<HdfsClusterJournalNodes>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nameNodes")]
pub name_nodes: Option<HdfsClusterNameNodes>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectOverrides")]
pub object_overrides: Option<Vec<BTreeMap<String, serde_json::Value>>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterClusterConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication: Option<HdfsClusterClusterConfigAuthentication>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<HdfsClusterClusterConfigAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dfsReplication")]
pub dfs_replication: Option<u8>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "listenerClass")]
pub listener_class: Option<HdfsClusterClusterConfigListenerClass>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rackAwareness")]
pub rack_awareness: Option<Vec<HdfsClusterClusterConfigRackAwareness>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vectorAggregatorConfigMapName")]
pub vector_aggregator_config_map_name: Option<String>,
#[serde(rename = "zookeeperConfigMapName")]
pub zookeeper_config_map_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterClusterConfigAuthentication {
pub kerberos: HdfsClusterClusterConfigAuthenticationKerberos,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsSecretClass")]
pub tls_secret_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterClusterConfigAuthenticationKerberos {
#[serde(rename = "secretClass")]
pub secret_class: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterClusterConfigAuthorization {
pub opa: HdfsClusterClusterConfigAuthorizationOpa,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterClusterConfigAuthorizationOpa {
#[serde(rename = "configMapName")]
pub config_map_name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub package: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterClusterConfigListenerClass {
#[serde(rename = "cluster-internal")]
ClusterInternal,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterClusterConfigRackAwareness {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeLabel")]
pub node_label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podLabel")]
pub pod_label: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterClusterOperation {
#[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 HdfsClusterDataNodes {
#[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<HdfsClusterDataNodesConfig>,
#[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<HdfsClusterDataNodesJvmArgumentOverrides>,
#[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<HdfsClusterDataNodesRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, HdfsClusterDataNodesRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<HdfsClusterDataNodesConfigAffinity>,
#[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 = "listenerClass")]
pub listener_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<HdfsClusterDataNodesConfigLogging>,
#[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<HdfsClusterDataNodesConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfigAffinity {
#[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 HdfsClusterDataNodesConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, HdfsClusterDataNodesConfigLoggingContainers>>,
#[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 HdfsClusterDataNodesConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<HdfsClusterDataNodesConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<HdfsClusterDataNodesConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<HdfsClusterDataNodesConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, HdfsClusterDataNodesConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterDataNodesConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesConfigLoggingContainersConsoleLevel {
#[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 HdfsClusterDataNodesConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterDataNodesConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesConfigLoggingContainersFileLevel {
#[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 HdfsClusterDataNodesConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterDataNodesConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesConfigLoggingContainersLoggersLevel {
#[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 HdfsClusterDataNodesConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<HdfsClusterDataNodesConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<HdfsClusterDataNodesConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<BTreeMap<String, HdfsClusterDataNodesConfigResourcesStorage>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfigResourcesCpu {
#[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 HdfsClusterDataNodesConfigResourcesMemory {
#[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<HdfsClusterDataNodesConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hdfsStorageType")]
pub hdfs_storage_type: Option<HdfsClusterDataNodesConfigResourcesStorageHdfsStorageType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<HdfsClusterDataNodesConfigResourcesStorageSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesConfigResourcesStorageHdfsStorageType {
Archive,
Disk,
#[serde(rename = "SSD")]
Ssd,
#[serde(rename = "RAMDisk")]
RamDisk,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesConfigResourcesStorageSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<HdfsClusterDataNodesConfigResourcesStorageSelectorsMatchExpressions>>,
#[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 HdfsClusterDataNodesConfigResourcesStorageSelectorsMatchExpressions {
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 HdfsClusterDataNodesJvmArgumentOverrides {
#[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 HdfsClusterDataNodesRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<HdfsClusterDataNodesRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleConfigPodDisruptionBudget {
#[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 HdfsClusterDataNodesRoleGroups {
#[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<HdfsClusterDataNodesRoleGroupsConfig>,
#[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<HdfsClusterDataNodesRoleGroupsJvmArgumentOverrides>,
#[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 HdfsClusterDataNodesRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<HdfsClusterDataNodesRoleGroupsConfigAffinity>,
#[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 = "listenerClass")]
pub listener_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<HdfsClusterDataNodesRoleGroupsConfigLogging>,
#[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<HdfsClusterDataNodesRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleGroupsConfigAffinity {
#[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 HdfsClusterDataNodesRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, HdfsClusterDataNodesRoleGroupsConfigLoggingContainers>>,
#[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 HdfsClusterDataNodesRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<HdfsClusterDataNodesRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<HdfsClusterDataNodesRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<HdfsClusterDataNodesRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, HdfsClusterDataNodesRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterDataNodesRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 HdfsClusterDataNodesRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterDataNodesRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesRoleGroupsConfigLoggingContainersFileLevel {
#[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 HdfsClusterDataNodesRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterDataNodesRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 HdfsClusterDataNodesRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<HdfsClusterDataNodesRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<HdfsClusterDataNodesRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<BTreeMap<String, HdfsClusterDataNodesRoleGroupsConfigResourcesStorage>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleGroupsConfigResourcesCpu {
#[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 HdfsClusterDataNodesRoleGroupsConfigResourcesMemory {
#[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<HdfsClusterDataNodesRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleGroupsConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hdfsStorageType")]
pub hdfs_storage_type: Option<HdfsClusterDataNodesRoleGroupsConfigResourcesStorageHdfsStorageType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<HdfsClusterDataNodesRoleGroupsConfigResourcesStorageSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterDataNodesRoleGroupsConfigResourcesStorageHdfsStorageType {
Archive,
Disk,
#[serde(rename = "SSD")]
Ssd,
#[serde(rename = "RAMDisk")]
RamDisk,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterDataNodesRoleGroupsConfigResourcesStorageSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<HdfsClusterDataNodesRoleGroupsConfigResourcesStorageSelectorsMatchExpressions>>,
#[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 HdfsClusterDataNodesRoleGroupsConfigResourcesStorageSelectorsMatchExpressions {
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 HdfsClusterDataNodesRoleGroupsJvmArgumentOverrides {
#[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 HdfsClusterImage {
#[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<HdfsClusterImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullSecrets")]
pub pull_secrets: Option<Vec<HdfsClusterImagePullSecrets>>,
#[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 HdfsClusterImagePullPolicy {
IfNotPresent,
Always,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterImagePullSecrets {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodes {
#[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<HdfsClusterJournalNodesConfig>,
#[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<HdfsClusterJournalNodesJvmArgumentOverrides>,
#[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<HdfsClusterJournalNodesRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, HdfsClusterJournalNodesRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<HdfsClusterJournalNodesConfigAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gracefulShutdownTimeout")]
pub graceful_shutdown_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<HdfsClusterJournalNodesConfigLogging>,
#[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<HdfsClusterJournalNodesConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigAffinity {
#[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 HdfsClusterJournalNodesConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, HdfsClusterJournalNodesConfigLoggingContainers>>,
#[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 HdfsClusterJournalNodesConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<HdfsClusterJournalNodesConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<HdfsClusterJournalNodesConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<HdfsClusterJournalNodesConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, HdfsClusterJournalNodesConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterJournalNodesConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterJournalNodesConfigLoggingContainersConsoleLevel {
#[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 HdfsClusterJournalNodesConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterJournalNodesConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterJournalNodesConfigLoggingContainersFileLevel {
#[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 HdfsClusterJournalNodesConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterJournalNodesConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterJournalNodesConfigLoggingContainersLoggersLevel {
#[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 HdfsClusterJournalNodesConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<HdfsClusterJournalNodesConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<HdfsClusterJournalNodesConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<HdfsClusterJournalNodesConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigResourcesCpu {
#[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 HdfsClusterJournalNodesConfigResourcesMemory {
#[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<HdfsClusterJournalNodesConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<HdfsClusterJournalNodesConfigResourcesStorageData>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigResourcesStorageData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<HdfsClusterJournalNodesConfigResourcesStorageDataSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesConfigResourcesStorageDataSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<HdfsClusterJournalNodesConfigResourcesStorageDataSelectorsMatchExpressions>>,
#[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 HdfsClusterJournalNodesConfigResourcesStorageDataSelectorsMatchExpressions {
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 HdfsClusterJournalNodesJvmArgumentOverrides {
#[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 HdfsClusterJournalNodesRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<HdfsClusterJournalNodesRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleConfigPodDisruptionBudget {
#[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 HdfsClusterJournalNodesRoleGroups {
#[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<HdfsClusterJournalNodesRoleGroupsConfig>,
#[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<HdfsClusterJournalNodesRoleGroupsJvmArgumentOverrides>,
#[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 HdfsClusterJournalNodesRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<HdfsClusterJournalNodesRoleGroupsConfigAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gracefulShutdownTimeout")]
pub graceful_shutdown_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<HdfsClusterJournalNodesRoleGroupsConfigLogging>,
#[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<HdfsClusterJournalNodesRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigAffinity {
#[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 HdfsClusterJournalNodesRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, HdfsClusterJournalNodesRoleGroupsConfigLoggingContainers>>,
#[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 HdfsClusterJournalNodesRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersFileLevel {
#[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 HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterJournalNodesRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 HdfsClusterJournalNodesRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<HdfsClusterJournalNodesRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<HdfsClusterJournalNodesRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<HdfsClusterJournalNodesRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigResourcesCpu {
#[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 HdfsClusterJournalNodesRoleGroupsConfigResourcesMemory {
#[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<HdfsClusterJournalNodesRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<HdfsClusterJournalNodesRoleGroupsConfigResourcesStorageData>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigResourcesStorageData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<HdfsClusterJournalNodesRoleGroupsConfigResourcesStorageDataSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterJournalNodesRoleGroupsConfigResourcesStorageDataSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<HdfsClusterJournalNodesRoleGroupsConfigResourcesStorageDataSelectorsMatchExpressions>>,
#[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 HdfsClusterJournalNodesRoleGroupsConfigResourcesStorageDataSelectorsMatchExpressions {
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 HdfsClusterJournalNodesRoleGroupsJvmArgumentOverrides {
#[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 HdfsClusterNameNodes {
#[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<HdfsClusterNameNodesConfig>,
#[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<HdfsClusterNameNodesJvmArgumentOverrides>,
#[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<HdfsClusterNameNodesRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, HdfsClusterNameNodesRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<HdfsClusterNameNodesConfigAffinity>,
#[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 = "listenerClass")]
pub listener_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<HdfsClusterNameNodesConfigLogging>,
#[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<HdfsClusterNameNodesConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigAffinity {
#[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 HdfsClusterNameNodesConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, HdfsClusterNameNodesConfigLoggingContainers>>,
#[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 HdfsClusterNameNodesConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<HdfsClusterNameNodesConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<HdfsClusterNameNodesConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<HdfsClusterNameNodesConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, HdfsClusterNameNodesConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterNameNodesConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterNameNodesConfigLoggingContainersConsoleLevel {
#[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 HdfsClusterNameNodesConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterNameNodesConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterNameNodesConfigLoggingContainersFileLevel {
#[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 HdfsClusterNameNodesConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterNameNodesConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterNameNodesConfigLoggingContainersLoggersLevel {
#[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 HdfsClusterNameNodesConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<HdfsClusterNameNodesConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<HdfsClusterNameNodesConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<HdfsClusterNameNodesConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigResourcesCpu {
#[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 HdfsClusterNameNodesConfigResourcesMemory {
#[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<HdfsClusterNameNodesConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<HdfsClusterNameNodesConfigResourcesStorageData>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigResourcesStorageData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<HdfsClusterNameNodesConfigResourcesStorageDataSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesConfigResourcesStorageDataSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<HdfsClusterNameNodesConfigResourcesStorageDataSelectorsMatchExpressions>>,
#[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 HdfsClusterNameNodesConfigResourcesStorageDataSelectorsMatchExpressions {
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 HdfsClusterNameNodesJvmArgumentOverrides {
#[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 HdfsClusterNameNodesRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<HdfsClusterNameNodesRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleConfigPodDisruptionBudget {
#[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 HdfsClusterNameNodesRoleGroups {
#[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<HdfsClusterNameNodesRoleGroupsConfig>,
#[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<HdfsClusterNameNodesRoleGroupsJvmArgumentOverrides>,
#[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 HdfsClusterNameNodesRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<HdfsClusterNameNodesRoleGroupsConfigAffinity>,
#[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 = "listenerClass")]
pub listener_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<HdfsClusterNameNodesRoleGroupsConfigLogging>,
#[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<HdfsClusterNameNodesRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigAffinity {
#[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 HdfsClusterNameNodesRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, HdfsClusterNameNodesRoleGroupsConfigLoggingContainers>>,
#[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 HdfsClusterNameNodesRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<HdfsClusterNameNodesRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<HdfsClusterNameNodesRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<HdfsClusterNameNodesRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, HdfsClusterNameNodesRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterNameNodesRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterNameNodesRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 HdfsClusterNameNodesRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterNameNodesRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterNameNodesRoleGroupsConfigLoggingContainersFileLevel {
#[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 HdfsClusterNameNodesRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<HdfsClusterNameNodesRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HdfsClusterNameNodesRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 HdfsClusterNameNodesRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<HdfsClusterNameNodesRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<HdfsClusterNameNodesRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<HdfsClusterNameNodesRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigResourcesCpu {
#[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 HdfsClusterNameNodesRoleGroupsConfigResourcesMemory {
#[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<HdfsClusterNameNodesRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigResourcesStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<HdfsClusterNameNodesRoleGroupsConfigResourcesStorageData>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigResourcesStorageData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<HdfsClusterNameNodesRoleGroupsConfigResourcesStorageDataSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HdfsClusterNameNodesRoleGroupsConfigResourcesStorageDataSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<HdfsClusterNameNodesRoleGroupsConfigResourcesStorageDataSelectorsMatchExpressions>>,
#[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 HdfsClusterNameNodesRoleGroupsConfigResourcesStorageDataSelectorsMatchExpressions {
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 HdfsClusterNameNodesRoleGroupsJvmArgumentOverrides {
#[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 HdfsClusterStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deployedProductVersion")]
pub deployed_product_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "upgradeTargetProductVersion")]
pub upgrade_target_product_version: Option<String>,
}