#[allow(unused_imports)]
mod prelude {
pub use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
pub use kube_derive::CustomResource;
#[cfg(feature = "schemars")]
pub use schemars::JsonSchema;
pub use serde::{Deserialize, Serialize};
pub use std::collections::BTreeMap;
#[cfg(feature = "builder")]
pub use typed_builder::TypedBuilder;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(not(feature = "schemars"), kube(schema = "disabled"))]
#[kube(
group = "postgresql.cnpg.io",
version = "v1",
kind = "Pooler",
plural = "poolers"
)]
#[kube(namespaced)]
#[kube(status = "PoolerStatus")]
#[kube(derive = "Default")]
#[kube(derive = "PartialEq")]
pub struct PoolerSpec {
pub cluster: PoolerCluster,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "deploymentStrategy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub deployment_strategy: Option<PoolerDeploymentStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub instances: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub monitoring: Option<PoolerMonitoring>,
pub pgbouncer: PoolerPgbouncer,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serviceAccountName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_account_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serviceTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_template: Option<PoolerServiceTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub template: Option<PoolerTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<PoolerType>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerCluster {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerDeploymentStrategy {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "rollingUpdate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub rolling_update: Option<PoolerDeploymentStrategyRollingUpdate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerDeploymentStrategyRollingUpdate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSurge")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub max_surge: Option<IntOrString>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "maxUnavailable"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub max_unavailable: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerMonitoring {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "enablePodMonitor"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enable_pod_monitor: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podMonitorMetricRelabelings"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_monitor_metric_relabelings: Option<Vec<PoolerMonitoringPodMonitorMetricRelabelings>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podMonitorRelabelings"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_monitor_relabelings: Option<Vec<PoolerMonitoringPodMonitorRelabelings>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tls: Option<PoolerMonitoringTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerMonitoringPodMonitorMetricRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub action: Option<PoolerMonitoringPodMonitorMetricRelabelingsAction>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub modulus: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub regex: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replacement: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub separator: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sourceLabels"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub source_labels: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetLabel"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_label: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum PoolerMonitoringPodMonitorMetricRelabelingsAction {
#[serde(rename = "replace")]
Replace,
#[serde(rename = "Replace")]
ReplaceX,
#[serde(rename = "keep")]
Keep,
#[serde(rename = "Keep")]
KeepX,
#[serde(rename = "drop")]
Drop,
#[serde(rename = "Drop")]
DropX,
#[serde(rename = "hashmod")]
Hashmod,
HashMod,
#[serde(rename = "labelmap")]
Labelmap,
LabelMap,
#[serde(rename = "labeldrop")]
Labeldrop,
LabelDrop,
#[serde(rename = "labelkeep")]
Labelkeep,
LabelKeep,
#[serde(rename = "lowercase")]
Lowercase,
#[serde(rename = "Lowercase")]
LowercaseX,
#[serde(rename = "uppercase")]
Uppercase,
#[serde(rename = "Uppercase")]
UppercaseX,
#[serde(rename = "keepequal")]
Keepequal,
KeepEqual,
#[serde(rename = "dropequal")]
Dropequal,
DropEqual,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerMonitoringPodMonitorRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub action: Option<PoolerMonitoringPodMonitorRelabelingsAction>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub modulus: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub regex: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replacement: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub separator: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sourceLabels"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub source_labels: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetLabel"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_label: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum PoolerMonitoringPodMonitorRelabelingsAction {
#[serde(rename = "replace")]
Replace,
#[serde(rename = "Replace")]
ReplaceX,
#[serde(rename = "keep")]
Keep,
#[serde(rename = "Keep")]
KeepX,
#[serde(rename = "drop")]
Drop,
#[serde(rename = "Drop")]
DropX,
#[serde(rename = "hashmod")]
Hashmod,
HashMod,
#[serde(rename = "labelmap")]
Labelmap,
LabelMap,
#[serde(rename = "labeldrop")]
Labeldrop,
LabelDrop,
#[serde(rename = "labelkeep")]
Labelkeep,
LabelKeep,
#[serde(rename = "lowercase")]
Lowercase,
#[serde(rename = "Lowercase")]
LowercaseX,
#[serde(rename = "uppercase")]
Uppercase,
#[serde(rename = "Uppercase")]
UppercaseX,
#[serde(rename = "keepequal")]
Keepequal,
KeepEqual,
#[serde(rename = "dropequal")]
Dropequal,
DropEqual,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerMonitoringTls {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enabled: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerPgbouncer {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authQuery")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub auth_query: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "authQuerySecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub auth_query_secret: Option<PoolerPgbouncerAuthQuerySecret>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clientCASecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_ca_secret: Option<PoolerPgbouncerClientCaSecret>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clientTLSSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_tls_secret: Option<PoolerPgbouncerClientTlsSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "imageCatalogRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_catalog_ref: Option<PoolerPgbouncerImageCatalogRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub parameters: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub paused: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_hba: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "poolMode")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pool_mode: Option<PoolerPgbouncerPoolMode>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverCASecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_ca_secret: Option<PoolerPgbouncerServerCaSecret>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverTLSSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_tls_secret: Option<PoolerPgbouncerServerTlsSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerPgbouncerAuthQuerySecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerPgbouncerClientCaSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerPgbouncerClientTlsSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerPgbouncerImageCatalogRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_group: Option<String>,
pub key: String,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum PoolerPgbouncerPoolMode {
#[serde(rename = "session")]
Session,
#[serde(rename = "transaction")]
Transaction,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerPgbouncerServerCaSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerPgbouncerServerTlsSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerServiceTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metadata: Option<PoolerServiceTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub spec: Option<PoolerServiceTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerServiceTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerServiceTemplateSpec {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "allocateLoadBalancerNodePorts"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub allocate_load_balancer_node_ports: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIP")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cluster_ip: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clusterIPs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cluster_i_ps: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "externalIPs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub external_i_ps: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "externalName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub external_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "externalTrafficPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub external_traffic_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "healthCheckNodePort"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub health_check_node_port: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "internalTrafficPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub internal_traffic_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "ipFamilies"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ip_families: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "ipFamilyPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ip_family_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "loadBalancerClass"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub load_balancer_class: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "loadBalancerIP"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub load_balancer_ip: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "loadBalancerSourceRanges"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub load_balancer_source_ranges: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ports: Option<Vec<PoolerServiceTemplateSpecPorts>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "publishNotReadyAddresses"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub publish_not_ready_addresses: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub selector: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sessionAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub session_affinity: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sessionAffinityConfig"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub session_affinity_config: Option<PoolerServiceTemplateSpecSessionAffinityConfig>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "trafficDistribution"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub traffic_distribution: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerServiceTemplateSpecPorts {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "appProtocol"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub app_protocol: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePort")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_port: Option<i32>,
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub protocol: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetPort"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_port: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerServiceTemplateSpecSessionAffinityConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientIP")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_ip: Option<PoolerServiceTemplateSpecSessionAffinityConfigClientIp>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerServiceTemplateSpecSessionAffinityConfigClientIp {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metadata: Option<PoolerTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub spec: Option<PoolerTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpec {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "activeDeadlineSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub active_deadline_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub affinity: Option<PoolerTemplateSpecAffinity>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "automountServiceAccountToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub automount_service_account_token: Option<bool>,
#[cfg_attr(feature = "builder", builder(default))]
pub containers: Vec<PoolerTemplateSpecContainers>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsConfig")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dns_config: Option<PoolerTemplateSpecDnsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsPolicy")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dns_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "enableServiceLinks"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enable_service_links: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "ephemeralContainers"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ephemeral_containers: Option<Vec<PoolerTemplateSpecEphemeralContainers>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "hostAliases"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_aliases: Option<Vec<PoolerTemplateSpecHostAliases>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIPC")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_ipc: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "hostNetwork"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_network: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPID")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_pid: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostUsers")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub hostname: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "hostnameOverride"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub hostname_override: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "imagePullSecrets"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_pull_secrets: Option<Vec<PoolerTemplateSpecImagePullSecrets>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initContainers"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub init_containers: Option<Vec<PoolerTemplateSpecInitContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeName")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeSelector"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub os: Option<PoolerTemplateSpecOs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub overhead: Option<BTreeMap<String, IntOrString>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "preemptionPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub preemption_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub priority: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "priorityClassName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub priority_class_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readinessGates"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub readiness_gates: Option<Vec<PoolerTemplateSpecReadinessGates>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceClaims"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_claims: Option<Vec<PoolerTemplateSpecResourceClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<PoolerTemplateSpecResources>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restartPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restart_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runtimeClassName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub runtime_class_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "schedulerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheduler_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "schedulingGates"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheduling_gates: Option<Vec<PoolerTemplateSpecSchedulingGates>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "schedulingGroup"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheduling_group: Option<PoolerTemplateSpecSchedulingGroup>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "securityContext"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub security_context: Option<PoolerTemplateSpecSecurityContext>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serviceAccount"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_account: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serviceAccountName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_account_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "setHostnameAsFQDN"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub set_hostname_as_fqdn: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "shareProcessNamespace"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub share_process_namespace: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub subdomain: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tolerations: Option<Vec<PoolerTemplateSpecTolerations>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "topologySpreadConstraints"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub topology_spread_constraints: Option<Vec<PoolerTemplateSpecTopologySpreadConstraints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volumes: Option<Vec<PoolerTemplateSpecVolumes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinity {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_affinity: Option<PoolerTemplateSpecAffinityNodeAffinity>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_affinity: Option<PoolerTemplateSpecAffinityPodAffinity>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podAntiAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_anti_affinity: Option<PoolerTemplateSpecAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinity {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "preferredDuringSchedulingIgnoredDuringExecution"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub preferred_during_scheduling_ignored_during_execution: Option<
Vec<PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>,
>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "requiredDuringSchedulingIgnoredDuringExecution"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub required_during_scheduling_ignored_during_execution: Option<
PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution,
>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_fields: Option<Vec<PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
#[cfg_attr(feature = "builder", builder(default))]
pub node_selector_terms: Vec<PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_fields: Option<Vec<PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinity {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "preferredDuringSchedulingIgnoredDuringExecution"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub preferred_during_scheduling_ignored_during_execution: Option<
Vec<PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>,
>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "requiredDuringSchedulingIgnoredDuringExecution"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub required_during_scheduling_ignored_during_execution: Option<
Vec<PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespace_selector: Option<PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespace_selector: Option<PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub required_during_scheduling_ignored_during_execution: Option<Vec<PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespace_selector: Option<PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespace_selector: Option<PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env: Option<Vec<PoolerTemplateSpecContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env_from: Option<Vec<PoolerTemplateSpecContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "imagePullPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub lifecycle: Option<PoolerTemplateSpecContainersLifecycle>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "livenessProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub liveness_probe: Option<PoolerTemplateSpecContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ports: Option<Vec<PoolerTemplateSpecContainersPorts>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readinessProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub readiness_probe: Option<PoolerTemplateSpecContainersReadinessProbe>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resizePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resize_policy: Option<Vec<PoolerTemplateSpecContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<PoolerTemplateSpecContainersResources>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restartPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restart_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restartPolicyRules"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restart_policy_rules: Option<Vec<PoolerTemplateSpecContainersRestartPolicyRules>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "securityContext"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub security_context: Option<PoolerTemplateSpecContainersSecurityContext>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "startupProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub startup_probe: Option<PoolerTemplateSpecContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stdin_once: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationMessagePath"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_message_path: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationMessagePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tty: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeDevices"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_devices: Option<Vec<PoolerTemplateSpecContainersVolumeDevices>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeMounts"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_mounts: Option<Vec<PoolerTemplateSpecContainersVolumeMounts>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "workingDir"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value_from: Option<PoolerTemplateSpecContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvValueFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_key_ref: Option<PoolerTemplateSpecContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<PoolerTemplateSpecContainersEnvValueFromFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "fileKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub file_key_ref: Option<PoolerTemplateSpecContainersEnvValueFromFileKeyRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref: Option<PoolerTemplateSpecContainersEnvValueFromResourceFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_key_ref: Option<PoolerTemplateSpecContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvValueFromFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "apiVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvValueFromResourceFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "containerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_ref: Option<PoolerTemplateSpecContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_start: Option<PoolerTemplateSpecContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pre_stop: Option<PoolerTemplateSpecContainersLifecyclePreStop>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "stopSignal"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sleep: Option<PoolerTemplateSpecContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sleep: Option<PoolerTemplateSpecContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecContainersLivenessProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecContainersLivenessProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecContainersLivenessProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecContainersReadinessProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecContainersReadinessProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecContainersReadinessProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub claims: Option<Vec<PoolerTemplateSpecContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exit_codes: Option<PoolerTemplateSpecContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersSecurityContext {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "allowPrivilegeEscalation"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub allow_privilege_escalation: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "appArmorProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub app_armor_profile: Option<PoolerTemplateSpecContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub capabilities: Option<PoolerTemplateSpecContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub proc_mount: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readOnlyRootFilesystem"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only_root_filesystem: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsGroup"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_group: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsNonRoot"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seLinuxOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub se_linux_options: Option<PoolerTemplateSpecContainersSecurityContextSeLinuxOptions>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seccompProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub seccomp_profile: Option<PoolerTemplateSpecContainersSecurityContextSeccompProfile>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "windowsOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub windows_options: Option<PoolerTemplateSpecContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersSecurityContextAppArmorProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersSecurityContextSeccompProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersSecurityContextWindowsOptions {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpec"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpecName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "hostProcess"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_process: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsUserName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecContainersStartupProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecContainersStartupProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecContainersStartupProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "mountPropagation"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "recursiveReadOnly"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sub_path: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "subPathExpr"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecDnsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub nameservers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub options: Option<Vec<PoolerTemplateSpecDnsConfigOptions>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub searches: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecDnsConfigOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env: Option<Vec<PoolerTemplateSpecEphemeralContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env_from: Option<Vec<PoolerTemplateSpecEphemeralContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "imagePullPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub lifecycle: Option<PoolerTemplateSpecEphemeralContainersLifecycle>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "livenessProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub liveness_probe: Option<PoolerTemplateSpecEphemeralContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ports: Option<Vec<PoolerTemplateSpecEphemeralContainersPorts>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readinessProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub readiness_probe: Option<PoolerTemplateSpecEphemeralContainersReadinessProbe>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resizePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resize_policy: Option<Vec<PoolerTemplateSpecEphemeralContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<PoolerTemplateSpecEphemeralContainersResources>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restartPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restart_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restartPolicyRules"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restart_policy_rules: Option<Vec<PoolerTemplateSpecEphemeralContainersRestartPolicyRules>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "securityContext"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub security_context: Option<PoolerTemplateSpecEphemeralContainersSecurityContext>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "startupProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub startup_probe: Option<PoolerTemplateSpecEphemeralContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stdin_once: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetContainerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_container_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationMessagePath"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_message_path: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationMessagePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tty: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeDevices"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_devices: Option<Vec<PoolerTemplateSpecEphemeralContainersVolumeDevices>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeMounts"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_mounts: Option<Vec<PoolerTemplateSpecEphemeralContainersVolumeMounts>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "workingDir"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value_from: Option<PoolerTemplateSpecEphemeralContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvValueFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_key_ref:
Option<PoolerTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<PoolerTemplateSpecEphemeralContainersEnvValueFromFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "fileKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub file_key_ref: Option<PoolerTemplateSpecEphemeralContainersEnvValueFromFileKeyRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref:
Option<PoolerTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_key_ref: Option<PoolerTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvValueFromFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "apiVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "containerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_ref: Option<PoolerTemplateSpecEphemeralContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecEphemeralContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_start: Option<PoolerTemplateSpecEphemeralContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pre_stop: Option<PoolerTemplateSpecEphemeralContainersLifecyclePreStop>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "stopSignal"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecEphemeralContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecEphemeralContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sleep: Option<PoolerTemplateSpecEphemeralContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers:
Option<Vec<PoolerTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecEphemeralContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecEphemeralContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sleep: Option<PoolerTemplateSpecEphemeralContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers:
Option<Vec<PoolerTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecEphemeralContainersLivenessProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecEphemeralContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecEphemeralContainersLivenessProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecEphemeralContainersLivenessProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers:
Option<Vec<PoolerTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecEphemeralContainersReadinessProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecEphemeralContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecEphemeralContainersReadinessProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecEphemeralContainersReadinessProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers:
Option<Vec<PoolerTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub claims: Option<Vec<PoolerTemplateSpecEphemeralContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exit_codes: Option<PoolerTemplateSpecEphemeralContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersSecurityContext {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "allowPrivilegeEscalation"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub allow_privilege_escalation: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "appArmorProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub app_armor_profile:
Option<PoolerTemplateSpecEphemeralContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub capabilities: Option<PoolerTemplateSpecEphemeralContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub proc_mount: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readOnlyRootFilesystem"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only_root_filesystem: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsGroup"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_group: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsNonRoot"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seLinuxOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub se_linux_options:
Option<PoolerTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seccompProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub seccomp_profile: Option<PoolerTemplateSpecEphemeralContainersSecurityContextSeccompProfile>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "windowsOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub windows_options: Option<PoolerTemplateSpecEphemeralContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersSecurityContextAppArmorProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersSecurityContextSeccompProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersSecurityContextWindowsOptions {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpec"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpecName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "hostProcess"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_process: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsUserName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecEphemeralContainersStartupProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecEphemeralContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecEphemeralContainersStartupProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecEphemeralContainersStartupProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers:
Option<Vec<PoolerTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecEphemeralContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "mountPropagation"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "recursiveReadOnly"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sub_path: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "subPathExpr"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecHostAliases {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub hostnames: Option<Vec<String>>,
pub ip: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env: Option<Vec<PoolerTemplateSpecInitContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env_from: Option<Vec<PoolerTemplateSpecInitContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "imagePullPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub lifecycle: Option<PoolerTemplateSpecInitContainersLifecycle>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "livenessProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub liveness_probe: Option<PoolerTemplateSpecInitContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ports: Option<Vec<PoolerTemplateSpecInitContainersPorts>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readinessProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub readiness_probe: Option<PoolerTemplateSpecInitContainersReadinessProbe>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resizePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resize_policy: Option<Vec<PoolerTemplateSpecInitContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<PoolerTemplateSpecInitContainersResources>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restartPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restart_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restartPolicyRules"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restart_policy_rules: Option<Vec<PoolerTemplateSpecInitContainersRestartPolicyRules>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "securityContext"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub security_context: Option<PoolerTemplateSpecInitContainersSecurityContext>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "startupProbe"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub startup_probe: Option<PoolerTemplateSpecInitContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stdin_once: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationMessagePath"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_message_path: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationMessagePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tty: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeDevices"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_devices: Option<Vec<PoolerTemplateSpecInitContainersVolumeDevices>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeMounts"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_mounts: Option<Vec<PoolerTemplateSpecInitContainersVolumeMounts>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "workingDir"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value_from: Option<PoolerTemplateSpecInitContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvValueFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_key_ref: Option<PoolerTemplateSpecInitContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<PoolerTemplateSpecInitContainersEnvValueFromFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "fileKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub file_key_ref: Option<PoolerTemplateSpecInitContainersEnvValueFromFileKeyRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref: Option<PoolerTemplateSpecInitContainersEnvValueFromResourceFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_key_ref: Option<PoolerTemplateSpecInitContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvValueFromFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "apiVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvValueFromResourceFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "containerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_ref: Option<PoolerTemplateSpecInitContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecInitContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_start: Option<PoolerTemplateSpecInitContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pre_stop: Option<PoolerTemplateSpecInitContainersLifecyclePreStop>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "stopSignal"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecInitContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecInitContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sleep: Option<PoolerTemplateSpecInitContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecInitContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers:
Option<Vec<PoolerTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecInitContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecInitContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sleep: Option<PoolerTemplateSpecInitContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecInitContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers:
Option<Vec<PoolerTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecInitContainersLivenessProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecInitContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecInitContainersLivenessProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecInitContainersLivenessProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecInitContainersReadinessProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecInitContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecInitContainersReadinessProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecInitContainersReadinessProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub claims: Option<Vec<PoolerTemplateSpecInitContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exit_codes: Option<PoolerTemplateSpecInitContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersSecurityContext {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "allowPrivilegeEscalation"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub allow_privilege_escalation: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "appArmorProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub app_armor_profile: Option<PoolerTemplateSpecInitContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub capabilities: Option<PoolerTemplateSpecInitContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub proc_mount: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readOnlyRootFilesystem"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only_root_filesystem: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsGroup"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_group: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsNonRoot"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seLinuxOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub se_linux_options: Option<PoolerTemplateSpecInitContainersSecurityContextSeLinuxOptions>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seccompProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub seccomp_profile: Option<PoolerTemplateSpecInitContainersSecurityContextSeccompProfile>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "windowsOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub windows_options: Option<PoolerTemplateSpecInitContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersSecurityContextAppArmorProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersSecurityContextSeccompProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersSecurityContextWindowsOptions {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpec"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpecName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "hostProcess"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_process: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsUserName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exec: Option<PoolerTemplateSpecInitContainersStartupProbeExec>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failureThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub grpc: Option<PoolerTemplateSpecInitContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_get: Option<PoolerTemplateSpecInitContainersStartupProbeHttpGet>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initialDelaySeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initial_delay_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "periodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub period_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successThreshold"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tcp_socket: Option<PoolerTemplateSpecInitContainersStartupProbeTcpSocket>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "terminationGracePeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub termination_grace_period_seconds: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeoutSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "httpHeaders"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub http_headers: Option<Vec<PoolerTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecInitContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "mountPropagation"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "recursiveReadOnly"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sub_path: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "subPathExpr"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecOs {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecReadinessGates {
#[serde(rename = "conditionType")]
pub condition_type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecResourceClaims {
pub name: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceClaimName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_claim_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceClaimTemplateName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_claim_template_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub claims: Option<Vec<PoolerTemplateSpecResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSchedulingGates {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSchedulingGroup {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podGroupName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_group_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSecurityContext {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "appArmorProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub app_armor_profile: Option<PoolerTemplateSpecSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_group: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "fsGroupChangePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_group_change_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsGroup"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_group: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsNonRoot"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seLinuxChangePolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub se_linux_change_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seLinuxOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub se_linux_options: Option<PoolerTemplateSpecSecurityContextSeLinuxOptions>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seccompProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub seccomp_profile: Option<PoolerTemplateSpecSecurityContextSeccompProfile>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "supplementalGroups"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "supplementalGroupsPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub supplemental_groups_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sysctls: Option<Vec<PoolerTemplateSpecSecurityContextSysctls>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "windowsOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub windows_options: Option<PoolerTemplateSpecSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSecurityContextAppArmorProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSecurityContextSeccompProfile {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localhostProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecSecurityContextWindowsOptions {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpec"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gmsaCredentialSpecName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gmsa_credential_spec_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "hostProcess"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_process: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "runAsUserName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub operator: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "tolerationSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecTopologySpreadConstraints {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "labelSelector"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<PoolerTemplateSpecTopologySpreadConstraintsLabelSelector>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchLabelKeys"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_label_keys: Option<Vec<String>>,
#[serde(rename = "maxSkew")]
pub max_skew: i32,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "minDomains"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub min_domains: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeAffinityPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_affinity_policy: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeTaintsPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_taints_policy: Option<String>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
#[serde(rename = "whenUnsatisfiable")]
pub when_unsatisfiable: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecTopologySpreadConstraintsLabelSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions:
Option<Vec<PoolerTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchLabels"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumes {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "awsElasticBlockStore"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub aws_elastic_block_store: Option<PoolerTemplateSpecVolumesAwsElasticBlockStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub azure_disk: Option<PoolerTemplateSpecVolumesAzureDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub azure_file: Option<PoolerTemplateSpecVolumesAzureFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cephfs: Option<PoolerTemplateSpecVolumesCephfs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cinder: Option<PoolerTemplateSpecVolumesCinder>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map: Option<PoolerTemplateSpecVolumesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub csi: Option<PoolerTemplateSpecVolumesCsi>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "downwardAPI"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub downward_api: Option<PoolerTemplateSpecVolumesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub empty_dir: Option<PoolerTemplateSpecVolumesEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ephemeral: Option<PoolerTemplateSpecVolumesEphemeral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fc: Option<PoolerTemplateSpecVolumesFc>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "flexVolume"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub flex_volume: Option<PoolerTemplateSpecVolumesFlexVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub flocker: Option<PoolerTemplateSpecVolumesFlocker>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gcePersistentDisk"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gce_persistent_disk: Option<PoolerTemplateSpecVolumesGcePersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub git_repo: Option<PoolerTemplateSpecVolumesGitRepo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub glusterfs: Option<PoolerTemplateSpecVolumesGlusterfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub host_path: Option<PoolerTemplateSpecVolumesHostPath>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<PoolerTemplateSpecVolumesImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub iscsi: Option<PoolerTemplateSpecVolumesIscsi>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub nfs: Option<PoolerTemplateSpecVolumesNfs>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "persistentVolumeClaim"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub persistent_volume_claim: Option<PoolerTemplateSpecVolumesPersistentVolumeClaim>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "photonPersistentDisk"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub photon_persistent_disk: Option<PoolerTemplateSpecVolumesPhotonPersistentDisk>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "portworxVolume"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub portworx_volume: Option<PoolerTemplateSpecVolumesPortworxVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub projected: Option<PoolerTemplateSpecVolumesProjected>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub quobyte: Option<PoolerTemplateSpecVolumesQuobyte>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub rbd: Option<PoolerTemplateSpecVolumesRbd>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scale_io: Option<PoolerTemplateSpecVolumesScaleIo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret: Option<PoolerTemplateSpecVolumesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storageos: Option<PoolerTemplateSpecVolumesStorageos>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "vsphereVolume"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub vsphere_volume: Option<PoolerTemplateSpecVolumesVsphereVolume>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesAwsElasticBlockStore {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub partition: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesAzureDisk {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "cachingMode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub caching_mode: Option<String>,
#[serde(rename = "diskName")]
pub disk_name: String,
#[serde(rename = "diskURI")]
pub disk_uri: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesAzureFile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(rename = "shareName")]
pub share_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesCephfs {
#[cfg_attr(feature = "builder", builder(default))]
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretFile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecVolumesCephfsSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesCephfsSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesCinder {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecVolumesCinderSecretRef>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesCinderSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesConfigMap {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "defaultMode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<PoolerTemplateSpecVolumesConfigMapItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesCsi {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodePublishSecretRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_publish_secret_ref: Option<PoolerTemplateSpecVolumesCsiNodePublishSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeAttributes"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_attributes: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesCsiNodePublishSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesDownwardApi {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "defaultMode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<PoolerTemplateSpecVolumesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<PoolerTemplateSpecVolumesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mode: Option<i32>,
pub path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref: Option<PoolerTemplateSpecVolumesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesDownwardApiItemsFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "apiVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesDownwardApiItemsResourceFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "containerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub size_limit: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeral {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeClaimTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_claim_template: Option<PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metadata: Option<PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata>,
pub spec: PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata {}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "accessModes"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub access_modes: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataSource"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_source: Option<PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataSourceRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_source_ref:
Option<PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub selector: Option<PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageClassName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_class_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeAttributesClassName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_attributes_class_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeMode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_mode: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<
Vec<PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions>,
>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchLabels"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesFc {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub lun: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetWWNs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_ww_ns: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wwids: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesFlexVolume {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub options: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecVolumesFlexVolumeSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesFlexVolumeSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesFlocker {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "datasetName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dataset_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "datasetUUID"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dataset_uuid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesGcePersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub partition: Option<i32>,
#[serde(rename = "pdName")]
pub pd_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesGitRepo {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub directory: Option<String>,
pub repository: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub revision: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesGlusterfs {
pub endpoints: String,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesHostPath {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesImage {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pullPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesIscsi {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "chapAuthDiscovery"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub chap_auth_discovery: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "chapAuthSession"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub chap_auth_session: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "initiatorName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initiator_name: Option<String>,
pub iqn: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "iscsiInterface"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub iscsi_interface: Option<String>,
pub lun: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub portals: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecVolumesIscsiSecretRef>,
#[serde(rename = "targetPortal")]
pub target_portal: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesIscsiSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesNfs {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
pub server: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesPersistentVolumeClaim {
#[serde(rename = "claimName")]
pub claim_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesPhotonPersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(rename = "pdID")]
pub pd_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesPortworxVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjected {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "defaultMode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sources: Option<Vec<PoolerTemplateSpecVolumesProjectedSources>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSources {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clusterTrustBundle"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cluster_trust_bundle: Option<PoolerTemplateSpecVolumesProjectedSourcesClusterTrustBundle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map: Option<PoolerTemplateSpecVolumesProjectedSourcesConfigMap>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "downwardAPI"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub downward_api: Option<PoolerTemplateSpecVolumesProjectedSourcesDownwardApi>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podCertificate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_certificate: Option<PoolerTemplateSpecVolumesProjectedSourcesPodCertificate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret: Option<PoolerTemplateSpecVolumesProjectedSourcesSecret>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serviceAccountToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_account_token: Option<PoolerTemplateSpecVolumesProjectedSourcesServiceAccountToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesClusterTrustBundle {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "labelSelector"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector:
Option<PoolerTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
pub path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "signerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub signer_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<PoolerTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions
{
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<PoolerTemplateSpecVolumesProjectedSourcesConfigMapItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<PoolerTemplateSpecVolumesProjectedSourcesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<PoolerTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mode: Option<i32>,
pub path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref:
Option<PoolerTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "apiVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "containerName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesPodCertificate {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "certificateChainPath"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub certificate_chain_path: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "credentialBundlePath"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub credential_bundle_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyPath")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub key_path: Option<String>,
#[serde(rename = "keyType")]
pub key_type: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "maxExpirationSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub max_expiration_seconds: Option<i32>,
#[serde(rename = "signerName")]
pub signer_name: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "userAnnotations"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user_annotations: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<PoolerTemplateSpecVolumesProjectedSourcesSecretItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesProjectedSourcesServiceAccountToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub audience: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "expirationSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub expiration_seconds: Option<i64>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesQuobyte {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
pub registry: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tenant: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user: Option<String>,
pub volume: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesRbd {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub keyring: Option<String>,
#[cfg_attr(feature = "builder", builder(default))]
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pool: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecVolumesRbdSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesRbdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesScaleIo {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
pub gateway: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "protectionDomain"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub protection_domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(rename = "secretRef")]
pub secret_ref: PoolerTemplateSpecVolumesScaleIoSecretRef,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sslEnabled"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ssl_enabled: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageMode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_mode: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storagePool"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_pool: Option<String>,
pub system: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesScaleIoSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesSecret {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "defaultMode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<PoolerTemplateSpecVolumesSecretItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub optional: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesStorageos {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_ref: Option<PoolerTemplateSpecVolumesStorageosSecretRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeNamespace"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesStorageosSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerTemplateSpecVolumesVsphereVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub fs_type: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storagePolicyID"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_policy_id: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storagePolicyName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_policy_name: Option<String>,
#[serde(rename = "volumePath")]
pub volume_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum PoolerType {
#[serde(rename = "rw")]
Rw,
#[serde(rename = "ro")]
Ro,
#[serde(rename = "r")]
R,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub instances: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub phase: Option<PoolerStatusPhase>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "phaseReason"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub phase_reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secrets: Option<PoolerStatusSecrets>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum PoolerStatusPhase {
#[serde(rename = "active")]
Active,
#[serde(rename = "paused")]
Paused,
#[serde(rename = "inactive")]
Inactive,
#[serde(rename = "failed")]
Failed,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatusSecrets {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCA")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_ca: Option<PoolerStatusSecretsClientCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientTLS")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_tls: Option<PoolerStatusSecretsClientTls>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgBouncerSecrets"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_bouncer_secrets: Option<PoolerStatusSecretsPgBouncerSecrets>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverCA")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_ca: Option<PoolerStatusSecretsServerCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverTLS")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_tls: Option<PoolerStatusSecretsServerTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatusSecretsClientCa {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatusSecretsClientTls {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatusSecretsPgBouncerSecrets {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authQuery")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub auth_query: Option<PoolerStatusSecretsPgBouncerSecretsAuthQuery>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatusSecretsPgBouncerSecretsAuthQuery {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatusSecretsServerCa {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct PoolerStatusSecretsServerTls {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub version: Option<String>,
}