#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "spark.stackable.tech", version = "v1alpha1", kind = "SparkHistoryServer", plural = "sparkhistoryservers")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct SparkHistoryServerSpec {
pub image: SparkHistoryServerImage,
#[serde(rename = "logFileDirectory")]
pub log_file_directory: SparkHistoryServerLogFileDirectory,
pub nodes: SparkHistoryServerNodes,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sparkConf")]
pub spark_conf: Option<BTreeMap<String, String>>,
#[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 SparkHistoryServerImage {
#[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<SparkHistoryServerImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullSecrets")]
pub pull_secrets: Option<Vec<SparkHistoryServerImagePullSecrets>>,
#[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 SparkHistoryServerImagePullPolicy {
IfNotPresent,
Always,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerImagePullSecrets {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectory {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "customLogDirectory")]
pub custom_log_directory: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub s3: Option<SparkHistoryServerLogFileDirectoryS3>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3 {
pub bucket: SparkHistoryServerLogFileDirectoryS3Bucket,
pub prefix: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3Bucket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inline: Option<SparkHistoryServerLogFileDirectoryS3BucketInline>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInline {
#[serde(rename = "bucketName")]
pub bucket_name: String,
pub connection: SparkHistoryServerLogFileDirectoryS3BucketInlineConnection,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnection {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inline: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInline>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInline {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessStyle")]
pub access_style: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineAccessStyle>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineCredentials>,
pub host: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineRegion>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineAccessStyle {
Path,
VirtualHosted,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineCredentials {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineCredentialsScope>,
#[serde(rename = "secretClass")]
pub secret_class: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineCredentialsScope {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "listenerVolumes")]
pub listener_volumes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub node: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pod: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub services: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineRegion {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTls {
pub verification: SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerification,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerification {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub none: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationNone>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationServer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationNone {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationServer {
#[serde(rename = "caCert")]
pub ca_cert: SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationServerCaCert,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationServerCaCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretClass")]
pub secret_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "webPki")]
pub web_pki: Option<SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationServerCaCertWebPki>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerLogFileDirectoryS3BucketInlineConnectionInlineTlsVerificationServerCaCertWebPki {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodes {
#[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<SparkHistoryServerNodesConfig>,
#[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<SparkHistoryServerNodesJvmArgumentOverrides>,
#[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<SparkHistoryServerNodesRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, SparkHistoryServerNodesRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<SparkHistoryServerNodesConfigAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cleaner: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<SparkHistoryServerNodesConfigLogging>,
#[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<SparkHistoryServerNodesConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesConfigAffinity {
#[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 SparkHistoryServerNodesConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, SparkHistoryServerNodesConfigLoggingContainers>>,
#[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 SparkHistoryServerNodesConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<SparkHistoryServerNodesConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<SparkHistoryServerNodesConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<SparkHistoryServerNodesConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, SparkHistoryServerNodesConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<SparkHistoryServerNodesConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum SparkHistoryServerNodesConfigLoggingContainersConsoleLevel {
#[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 SparkHistoryServerNodesConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<SparkHistoryServerNodesConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum SparkHistoryServerNodesConfigLoggingContainersFileLevel {
#[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 SparkHistoryServerNodesConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<SparkHistoryServerNodesConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum SparkHistoryServerNodesConfigLoggingContainersLoggersLevel {
#[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 SparkHistoryServerNodesConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<SparkHistoryServerNodesConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<SparkHistoryServerNodesConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<SparkHistoryServerNodesConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesConfigResourcesCpu {
#[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 SparkHistoryServerNodesConfigResourcesMemory {
#[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<SparkHistoryServerNodesConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesJvmArgumentOverrides {
#[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 SparkHistoryServerNodesRoleConfig {
#[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<SparkHistoryServerNodesRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleConfigPodDisruptionBudget {
#[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 SparkHistoryServerNodesRoleGroups {
#[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<SparkHistoryServerNodesRoleGroupsConfig>,
#[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<SparkHistoryServerNodesRoleGroupsJvmArgumentOverrides>,
#[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 SparkHistoryServerNodesRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<SparkHistoryServerNodesRoleGroupsConfigAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cleaner: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<SparkHistoryServerNodesRoleGroupsConfigLogging>,
#[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<SparkHistoryServerNodesRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleGroupsConfigAffinity {
#[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 SparkHistoryServerNodesRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, SparkHistoryServerNodesRoleGroupsConfigLoggingContainers>>,
#[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 SparkHistoryServerNodesRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<SparkHistoryServerNodesRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<SparkHistoryServerNodesRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<SparkHistoryServerNodesRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, SparkHistoryServerNodesRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<SparkHistoryServerNodesRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum SparkHistoryServerNodesRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 SparkHistoryServerNodesRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<SparkHistoryServerNodesRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum SparkHistoryServerNodesRoleGroupsConfigLoggingContainersFileLevel {
#[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 SparkHistoryServerNodesRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<SparkHistoryServerNodesRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum SparkHistoryServerNodesRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 SparkHistoryServerNodesRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<SparkHistoryServerNodesRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<SparkHistoryServerNodesRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<SparkHistoryServerNodesRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleGroupsConfigResourcesCpu {
#[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 SparkHistoryServerNodesRoleGroupsConfigResourcesMemory {
#[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<SparkHistoryServerNodesRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleGroupsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct SparkHistoryServerNodesRoleGroupsJvmArgumentOverrides {
#[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>>,
}