#[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 = "airflow.stackable.tech", version = "v1alpha1", kind = "AirflowCluster", plural = "airflowclusters")]
#[kube(namespaced)]
#[kube(status = "AirflowClusterStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct AirflowClusterSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "celeryExecutors")]
pub celery_executors: Option<AirflowClusterCeleryExecutors>,
#[serde(rename = "clusterConfig")]
pub cluster_config: AirflowClusterClusterConfig,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterOperation")]
pub cluster_operation: Option<AirflowClusterClusterOperation>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dagProcessors")]
pub dag_processors: Option<AirflowClusterDagProcessors>,
pub image: AirflowClusterImage,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "kubernetesExecutors")]
pub kubernetes_executors: Option<AirflowClusterKubernetesExecutors>,
#[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 schedulers: Option<AirflowClusterSchedulers>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub triggerers: Option<AirflowClusterTriggerers>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub webservers: Option<AirflowClusterWebservers>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutors {
#[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<AirflowClusterCeleryExecutorsConfig>,
#[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 = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleConfig")]
pub role_config: Option<AirflowClusterCeleryExecutorsRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, AirflowClusterCeleryExecutorsRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterCeleryExecutorsConfigAffinity>,
#[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<AirflowClusterCeleryExecutorsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterCeleryExecutorsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsConfigAffinity {
#[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 AirflowClusterCeleryExecutorsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterCeleryExecutorsConfigLoggingContainers>>,
#[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 AirflowClusterCeleryExecutorsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterCeleryExecutorsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterCeleryExecutorsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterCeleryExecutorsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterCeleryExecutorsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterCeleryExecutorsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterCeleryExecutorsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterCeleryExecutorsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterCeleryExecutorsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterCeleryExecutorsConfigLoggingContainersFileLevel {
#[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 AirflowClusterCeleryExecutorsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterCeleryExecutorsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterCeleryExecutorsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterCeleryExecutorsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterCeleryExecutorsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterCeleryExecutorsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterCeleryExecutorsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsConfigResourcesCpu {
#[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 AirflowClusterCeleryExecutorsConfigResourcesMemory {
#[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<AirflowClusterCeleryExecutorsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<AirflowClusterCeleryExecutorsRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleConfigPodDisruptionBudget {
#[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 AirflowClusterCeleryExecutorsRoleGroups {
#[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<AirflowClusterCeleryExecutorsRoleGroupsConfig>,
#[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 = "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 AirflowClusterCeleryExecutorsRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigAffinity>,
#[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<AirflowClusterCeleryExecutorsRoleGroupsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleGroupsConfigAffinity {
#[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 AirflowClusterCeleryExecutorsRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainers>>,
#[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 AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersFileLevel {
#[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 AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterCeleryExecutorsRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterCeleryExecutorsRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesCpu {
#[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 AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesMemory {
#[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<AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterCeleryExecutorsRoleGroupsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication: Option<Vec<AirflowClusterClusterConfigAuthentication>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<AirflowClusterClusterConfigAuthorization>,
#[serde(rename = "credentialsSecret")]
pub credentials_secret: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dagsGitSync")]
pub dags_git_sync: Option<Vec<AirflowClusterClusterConfigDagsGitSync>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseInitialization")]
pub database_initialization: Option<AirflowClusterClusterConfigDatabaseInitialization>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exposeConfig")]
pub expose_config: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadExamples")]
pub load_examples: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vectorAggregatorConfigMapName")]
pub vector_aggregator_config_map_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<BTreeMap<String, serde_json::Value>>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volumes: Option<Vec<BTreeMap<String, serde_json::Value>>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterConfigAuthentication {
#[serde(rename = "authenticationClass")]
pub authentication_class: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oidc: Option<AirflowClusterClusterConfigAuthenticationOidc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "syncRolesAt")]
pub sync_roles_at: Option<AirflowClusterClusterConfigAuthenticationSyncRolesAt>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "userRegistration")]
pub user_registration: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "userRegistrationRole")]
pub user_registration_role: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterConfigAuthenticationOidc {
#[serde(rename = "clientCredentialsSecret")]
pub client_credentials_secret: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "extraScopes")]
pub extra_scopes: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterClusterConfigAuthenticationSyncRolesAt {
Registration,
Login,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterConfigAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub opa: Option<AirflowClusterClusterConfigAuthorizationOpa>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterConfigAuthorizationOpa {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<AirflowClusterClusterConfigAuthorizationOpaCache>,
#[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, Default, PartialEq)]
pub struct AirflowClusterClusterConfigAuthorizationOpaCache {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "entryTimeToLive")]
pub entry_time_to_live: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxEntries")]
pub max_entries: Option<u32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterConfigDagsGitSync {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub branch: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsSecret")]
pub credentials_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub depth: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitFolder")]
pub git_folder: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitSyncConf")]
pub git_sync_conf: Option<BTreeMap<String, String>>,
pub repo: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub wait: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterConfigDatabaseInitialization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterClusterOperation {
#[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 AirflowClusterDagProcessors {
#[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<AirflowClusterDagProcessorsConfig>,
#[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 = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleConfig")]
pub role_config: Option<AirflowClusterDagProcessorsRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, AirflowClusterDagProcessorsRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterDagProcessorsConfigAffinity>,
#[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<AirflowClusterDagProcessorsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterDagProcessorsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsConfigAffinity {
#[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 AirflowClusterDagProcessorsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterDagProcessorsConfigLoggingContainers>>,
#[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 AirflowClusterDagProcessorsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterDagProcessorsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterDagProcessorsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterDagProcessorsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterDagProcessorsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterDagProcessorsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterDagProcessorsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterDagProcessorsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterDagProcessorsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterDagProcessorsConfigLoggingContainersFileLevel {
#[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 AirflowClusterDagProcessorsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterDagProcessorsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterDagProcessorsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterDagProcessorsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterDagProcessorsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterDagProcessorsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterDagProcessorsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsConfigResourcesCpu {
#[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 AirflowClusterDagProcessorsConfigResourcesMemory {
#[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<AirflowClusterDagProcessorsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<AirflowClusterDagProcessorsRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleConfigPodDisruptionBudget {
#[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 AirflowClusterDagProcessorsRoleGroups {
#[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<AirflowClusterDagProcessorsRoleGroupsConfig>,
#[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 = "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 AirflowClusterDagProcessorsRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterDagProcessorsRoleGroupsConfigAffinity>,
#[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<AirflowClusterDagProcessorsRoleGroupsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterDagProcessorsRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleGroupsConfigAffinity {
#[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 AirflowClusterDagProcessorsRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainers>>,
#[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 AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersFileLevel {
#[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 AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterDagProcessorsRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterDagProcessorsRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterDagProcessorsRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterDagProcessorsRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterDagProcessorsRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleGroupsConfigResourcesCpu {
#[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 AirflowClusterDagProcessorsRoleGroupsConfigResourcesMemory {
#[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<AirflowClusterDagProcessorsRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterDagProcessorsRoleGroupsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterImage {
#[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<AirflowClusterImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullSecrets")]
pub pull_secrets: Option<Vec<AirflowClusterImagePullSecrets>>,
#[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 AirflowClusterImagePullPolicy {
IfNotPresent,
Always,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterImagePullSecrets {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutors {
#[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<AirflowClusterKubernetesExecutorsConfig>,
#[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 = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutorsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterKubernetesExecutorsConfigAffinity>,
#[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<AirflowClusterKubernetesExecutorsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterKubernetesExecutorsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutorsConfigAffinity {
#[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 AirflowClusterKubernetesExecutorsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterKubernetesExecutorsConfigLoggingContainers>>,
#[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 AirflowClusterKubernetesExecutorsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterKubernetesExecutorsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterKubernetesExecutorsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterKubernetesExecutorsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterKubernetesExecutorsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutorsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterKubernetesExecutorsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterKubernetesExecutorsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterKubernetesExecutorsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutorsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterKubernetesExecutorsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterKubernetesExecutorsConfigLoggingContainersFileLevel {
#[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 AirflowClusterKubernetesExecutorsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterKubernetesExecutorsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterKubernetesExecutorsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterKubernetesExecutorsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterKubernetesExecutorsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterKubernetesExecutorsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterKubernetesExecutorsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutorsConfigResourcesCpu {
#[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 AirflowClusterKubernetesExecutorsConfigResourcesMemory {
#[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<AirflowClusterKubernetesExecutorsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutorsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterKubernetesExecutorsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulers {
#[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<AirflowClusterSchedulersConfig>,
#[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 = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleConfig")]
pub role_config: Option<AirflowClusterSchedulersRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, AirflowClusterSchedulersRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterSchedulersConfigAffinity>,
#[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<AirflowClusterSchedulersConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterSchedulersConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersConfigAffinity {
#[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 AirflowClusterSchedulersConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterSchedulersConfigLoggingContainers>>,
#[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 AirflowClusterSchedulersConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterSchedulersConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterSchedulersConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterSchedulersConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterSchedulersConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterSchedulersConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterSchedulersConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterSchedulersConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterSchedulersConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterSchedulersConfigLoggingContainersFileLevel {
#[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 AirflowClusterSchedulersConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterSchedulersConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterSchedulersConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterSchedulersConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterSchedulersConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterSchedulersConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterSchedulersConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersConfigResourcesCpu {
#[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 AirflowClusterSchedulersConfigResourcesMemory {
#[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<AirflowClusterSchedulersConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<AirflowClusterSchedulersRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleConfigPodDisruptionBudget {
#[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 AirflowClusterSchedulersRoleGroups {
#[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<AirflowClusterSchedulersRoleGroupsConfig>,
#[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 = "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 AirflowClusterSchedulersRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterSchedulersRoleGroupsConfigAffinity>,
#[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<AirflowClusterSchedulersRoleGroupsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterSchedulersRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleGroupsConfigAffinity {
#[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 AirflowClusterSchedulersRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterSchedulersRoleGroupsConfigLoggingContainers>>,
#[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 AirflowClusterSchedulersRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterSchedulersRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterSchedulersRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterSchedulersRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterSchedulersRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterSchedulersRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterSchedulersRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterSchedulersRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterSchedulersRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterSchedulersRoleGroupsConfigLoggingContainersFileLevel {
#[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 AirflowClusterSchedulersRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterSchedulersRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterSchedulersRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterSchedulersRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterSchedulersRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterSchedulersRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterSchedulersRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleGroupsConfigResourcesCpu {
#[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 AirflowClusterSchedulersRoleGroupsConfigResourcesMemory {
#[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<AirflowClusterSchedulersRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterSchedulersRoleGroupsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerers {
#[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<AirflowClusterTriggerersConfig>,
#[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 = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleConfig")]
pub role_config: Option<AirflowClusterTriggerersRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, AirflowClusterTriggerersRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterTriggerersConfigAffinity>,
#[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<AirflowClusterTriggerersConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterTriggerersConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersConfigAffinity {
#[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 AirflowClusterTriggerersConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterTriggerersConfigLoggingContainers>>,
#[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 AirflowClusterTriggerersConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterTriggerersConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterTriggerersConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterTriggerersConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterTriggerersConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterTriggerersConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterTriggerersConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterTriggerersConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterTriggerersConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterTriggerersConfigLoggingContainersFileLevel {
#[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 AirflowClusterTriggerersConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterTriggerersConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterTriggerersConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterTriggerersConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterTriggerersConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterTriggerersConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterTriggerersConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersConfigResourcesCpu {
#[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 AirflowClusterTriggerersConfigResourcesMemory {
#[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<AirflowClusterTriggerersConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")]
pub pod_disruption_budget: Option<AirflowClusterTriggerersRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleConfigPodDisruptionBudget {
#[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 AirflowClusterTriggerersRoleGroups {
#[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<AirflowClusterTriggerersRoleGroupsConfig>,
#[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 = "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 AirflowClusterTriggerersRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterTriggerersRoleGroupsConfigAffinity>,
#[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<AirflowClusterTriggerersRoleGroupsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterTriggerersRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleGroupsConfigAffinity {
#[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 AirflowClusterTriggerersRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterTriggerersRoleGroupsConfigLoggingContainers>>,
#[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 AirflowClusterTriggerersRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterTriggerersRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterTriggerersRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterTriggerersRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterTriggerersRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterTriggerersRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterTriggerersRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterTriggerersRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterTriggerersRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterTriggerersRoleGroupsConfigLoggingContainersFileLevel {
#[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 AirflowClusterTriggerersRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterTriggerersRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterTriggerersRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterTriggerersRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterTriggerersRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterTriggerersRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterTriggerersRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleGroupsConfigResourcesCpu {
#[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 AirflowClusterTriggerersRoleGroupsConfigResourcesMemory {
#[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<AirflowClusterTriggerersRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterTriggerersRoleGroupsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebservers {
#[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<AirflowClusterWebserversConfig>,
#[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 = "podOverrides")]
pub pod_overrides: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleConfig")]
pub role_config: Option<AirflowClusterWebserversRoleConfig>,
#[serde(rename = "roleGroups")]
pub role_groups: BTreeMap<String, AirflowClusterWebserversRoleGroups>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterWebserversConfigAffinity>,
#[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<AirflowClusterWebserversConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterWebserversConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversConfigAffinity {
#[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 AirflowClusterWebserversConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterWebserversConfigLoggingContainers>>,
#[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 AirflowClusterWebserversConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterWebserversConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterWebserversConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterWebserversConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterWebserversConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterWebserversConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterWebserversConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterWebserversConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterWebserversConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterWebserversConfigLoggingContainersFileLevel {
#[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 AirflowClusterWebserversConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterWebserversConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterWebserversConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterWebserversConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterWebserversConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterWebserversConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterWebserversConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversConfigResourcesCpu {
#[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 AirflowClusterWebserversConfigResourcesMemory {
#[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<AirflowClusterWebserversConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleConfig {
#[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<AirflowClusterWebserversRoleConfigPodDisruptionBudget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleConfigPodDisruptionBudget {
#[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 AirflowClusterWebserversRoleGroups {
#[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<AirflowClusterWebserversRoleGroupsConfig>,
#[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 = "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 AirflowClusterWebserversRoleGroupsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<AirflowClusterWebserversRoleGroupsConfigAffinity>,
#[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<AirflowClusterWebserversRoleGroupsConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<AirflowClusterWebserversRoleGroupsConfigResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleGroupsConfigAffinity {
#[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 AirflowClusterWebserversRoleGroupsConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<BTreeMap<String, AirflowClusterWebserversRoleGroupsConfigLoggingContainers>>,
#[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 AirflowClusterWebserversRoleGroupsConfigLoggingContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub console: Option<AirflowClusterWebserversRoleGroupsConfigLoggingContainersConsole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<AirflowClusterWebserversRoleGroupsConfigLoggingContainersCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file: Option<AirflowClusterWebserversRoleGroupsConfigLoggingContainersFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loggers: Option<BTreeMap<String, AirflowClusterWebserversRoleGroupsConfigLoggingContainersLoggers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleGroupsConfigLoggingContainersConsole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterWebserversRoleGroupsConfigLoggingContainersConsoleLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterWebserversRoleGroupsConfigLoggingContainersConsoleLevel {
#[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 AirflowClusterWebserversRoleGroupsConfigLoggingContainersCustom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleGroupsConfigLoggingContainersFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterWebserversRoleGroupsConfigLoggingContainersFileLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterWebserversRoleGroupsConfigLoggingContainersFileLevel {
#[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 AirflowClusterWebserversRoleGroupsConfigLoggingContainersLoggers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<AirflowClusterWebserversRoleGroupsConfigLoggingContainersLoggersLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AirflowClusterWebserversRoleGroupsConfigLoggingContainersLoggersLevel {
#[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 AirflowClusterWebserversRoleGroupsConfigResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<AirflowClusterWebserversRoleGroupsConfigResourcesCpu>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<AirflowClusterWebserversRoleGroupsConfigResourcesMemory>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<AirflowClusterWebserversRoleGroupsConfigResourcesStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleGroupsConfigResourcesCpu {
#[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 AirflowClusterWebserversRoleGroupsConfigResourcesMemory {
#[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<AirflowClusterWebserversRoleGroupsConfigResourcesMemoryRuntimeLimits>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleGroupsConfigResourcesMemoryRuntimeLimits {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterWebserversRoleGroupsConfigResourcesStorage {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AirflowClusterStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
}