#[allow(unused_imports)]
mod prelude {
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
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 = "Cluster",
plural = "clusters"
)]
#[kube(namespaced)]
#[kube(status = "ClusterStatus")]
#[kube(derive = "Default")]
#[kube(derive = "PartialEq")]
pub struct ClusterSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub affinity: Option<ClusterAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub backup: Option<ClusterBackup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bootstrap: Option<ClusterBootstrap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub certificates: Option<ClusterCertificates>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enablePDB")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enable_pdb: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "enableSuperuserAccess"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enable_superuser_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env: Option<Vec<ClusterEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env_from: Option<Vec<ClusterEnvFrom>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "ephemeralVolumeSource"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ephemeral_volume_source: Option<ClusterEphemeralVolumeSource>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "ephemeralVolumesSizeLimit"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ephemeral_volumes_size_limit: Option<ClusterEphemeralVolumesSizeLimit>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "externalClusters"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub external_clusters: Option<Vec<ClusterExternalClusters>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failoverDelay"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failover_delay: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "imageCatalogRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_catalog_ref: Option<ClusterImageCatalogRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imageName")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_name: 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",
rename = "imagePullSecrets"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image_pull_secrets: Option<Vec<ClusterImagePullSecrets>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "inheritedMetadata"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub inherited_metadata: Option<ClusterInheritedMetadata>,
pub instances: i64,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "livenessProbeTimeout"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub liveness_probe_timeout: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub log_level: Option<ClusterLogLevel>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub managed: Option<ClusterManaged>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "maxSyncReplicas"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub max_sync_replicas: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "minSyncReplicas"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub min_sync_replicas: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub monitoring: Option<ClusterMonitoring>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeMaintenanceWindow"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_maintenance_window: Option<ClusterNodeMaintenanceWindow>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub plugins: Option<Vec<ClusterPlugins>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podSecurityContext"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_security_context: Option<ClusterPodSecurityContext>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podSelectorRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_selector_refs: Option<Vec<ClusterPodSelectorRefs>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postgresGID"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub postgres_gid: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postgresUID"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub postgres_uid: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub postgresql: Option<ClusterPostgresql>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "primaryLease"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub primary_lease: Option<ClusterPrimaryLease>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "primaryUpdateMethod"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub primary_update_method: Option<ClusterPrimaryUpdateMethod>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "primaryUpdateStrategy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub primary_update_strategy: Option<ClusterPrimaryUpdateStrategy>,
#[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")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub probes: Option<ClusterProbes>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "projectedVolumeTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub projected_volume_template: Option<ClusterProjectedVolumeTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replica: Option<ClusterReplica>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "replicationSlots"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replication_slots: Option<ClusterReplicationSlots>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<ClusterResources>,
#[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 = "seccompProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub seccomp_profile: Option<ClusterSeccompProfile>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "securityContext"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub security_context: Option<ClusterSecurityContext>,
#[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 = "serviceAccountTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_account_template: Option<ClusterServiceAccountTemplate>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "smartShutdownTimeout"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub smart_shutdown_timeout: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "startDelay"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub start_delay: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopDelay")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub stop_delay: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage: Option<ClusterStorage>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "superuserSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub superuser_secret: Option<ClusterSuperuserSecret>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "switchoverDelay"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub switchover_delay: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tablespaces: Option<Vec<ClusterTablespaces>>,
#[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<ClusterTopologySpreadConstraints>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "walStorage"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wal_storage: Option<ClusterWalStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinity {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "additionalPodAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub additional_pod_affinity: Option<ClusterAffinityAdditionalPodAffinity>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "additionalPodAntiAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub additional_pod_anti_affinity: Option<ClusterAffinityAdditionalPodAntiAffinity>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "enablePodAntiAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enable_pod_anti_affinity: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_affinity: Option<ClusterAffinityNodeAffinity>,
#[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",
rename = "podAntiAffinityType"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_anti_affinity_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tolerations: Option<Vec<ClusterAffinityTolerations>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "topologyKey"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub topology_key: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityAdditionalPodAffinity {
#[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<ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>,
>,
#[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<ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions
{
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 ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions
{
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 ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions
{
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 ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions
{
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 ClusterAffinityAdditionalPodAntiAffinity {
#[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<
ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution,
>,
>,
#[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<ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions
{
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 ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions
{
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 ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions
{
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 ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ClusterAffinityAdditionalPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions
{
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 ClusterAffinityNodeAffinity {
#[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<ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[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<ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference:
ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_fields: Option<Vec<ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions
{
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 ClusterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields
{
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 ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
#[cfg_attr(feature = "builder", builder(default))]
pub node_selector_terms: Vec<
ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms,
>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_fields: Option<Vec<ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions
{
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 ClusterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields
{
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 ClusterAffinityTolerations {
#[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 ClusterBackup {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "barmanObjectStore"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub barman_object_store: Option<ClusterBackupBarmanObjectStore>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "retentionPolicy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub retention_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target: Option<ClusterBackupTarget>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeSnapshot"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_snapshot: Option<ClusterBackupVolumeSnapshot>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupBarmanObjectStore {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "azureCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub azure_credentials: Option<ClusterBackupBarmanObjectStoreAzureCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data: Option<ClusterBackupBarmanObjectStoreData>,
#[serde(rename = "destinationPath")]
pub destination_path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "endpointCA"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub endpoint_ca: Option<ClusterBackupBarmanObjectStoreEndpointCa>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "endpointURL"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub endpoint_url: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "googleCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub google_credentials: Option<ClusterBackupBarmanObjectStoreGoogleCredentials>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "historyTags"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub history_tags: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "s3Credentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub s3_credentials: Option<ClusterBackupBarmanObjectStoreS3Credentials>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tags: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wal: Option<ClusterBackupBarmanObjectStoreWal>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupBarmanObjectStoreAzureCredentials {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "connectionString"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub connection_string: Option<ClusterBackupBarmanObjectStoreAzureCredentialsConnectionString>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "inheritFromAzureAD"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub inherit_from_azure_ad: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageAccount"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_account: Option<ClusterBackupBarmanObjectStoreAzureCredentialsStorageAccount>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageKey"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_key: Option<ClusterBackupBarmanObjectStoreAzureCredentialsStorageKey>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageSasToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_sas_token: Option<ClusterBackupBarmanObjectStoreAzureCredentialsStorageSasToken>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "useDefaultAzureCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub use_default_azure_credentials: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupBarmanObjectStoreAzureCredentialsConnectionString {
pub key: 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 ClusterBackupBarmanObjectStoreAzureCredentialsStorageAccount {
pub key: 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 ClusterBackupBarmanObjectStoreAzureCredentialsStorageKey {
pub key: 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 ClusterBackupBarmanObjectStoreAzureCredentialsStorageSasToken {
pub key: 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 ClusterBackupBarmanObjectStoreData {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "additionalCommandArgs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub additional_command_args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub compression: Option<ClusterBackupBarmanObjectStoreDataCompression>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub encryption: Option<ClusterBackupBarmanObjectStoreDataEncryption>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "immediateCheckpoint"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub immediate_checkpoint: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub jobs: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterBackupBarmanObjectStoreDataCompression {
#[serde(rename = "bzip2")]
Bzip2,
#[serde(rename = "gzip")]
Gzip,
#[serde(rename = "lz4")]
Lz4,
#[serde(rename = "snappy")]
Snappy,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterBackupBarmanObjectStoreDataEncryption {
#[serde(rename = "AES256")]
Aes256,
#[serde(rename = "aws:kms")]
AwsKms,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupBarmanObjectStoreEndpointCa {
pub key: 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 ClusterBackupBarmanObjectStoreGoogleCredentials {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "applicationCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub application_credentials:
Option<ClusterBackupBarmanObjectStoreGoogleCredentialsApplicationCredentials>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gkeEnvironment"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gke_environment: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupBarmanObjectStoreGoogleCredentialsApplicationCredentials {
pub key: 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 ClusterBackupBarmanObjectStoreS3Credentials {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "accessKeyId"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub access_key_id: Option<ClusterBackupBarmanObjectStoreS3CredentialsAccessKeyId>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "inheritFromIAMRole"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub inherit_from_iam_role: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub region: Option<ClusterBackupBarmanObjectStoreS3CredentialsRegion>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretAccessKey"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_access_key: Option<ClusterBackupBarmanObjectStoreS3CredentialsSecretAccessKey>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sessionToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub session_token: Option<ClusterBackupBarmanObjectStoreS3CredentialsSessionToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupBarmanObjectStoreS3CredentialsAccessKeyId {
pub key: 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 ClusterBackupBarmanObjectStoreS3CredentialsRegion {
pub key: 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 ClusterBackupBarmanObjectStoreS3CredentialsSecretAccessKey {
pub key: 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 ClusterBackupBarmanObjectStoreS3CredentialsSessionToken {
pub key: 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 ClusterBackupBarmanObjectStoreWal {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "archiveAdditionalCommandArgs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub archive_additional_command_args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub compression: Option<ClusterBackupBarmanObjectStoreWalCompression>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub encryption: Option<ClusterBackupBarmanObjectStoreWalEncryption>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "maxParallel"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub max_parallel: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restoreAdditionalCommandArgs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restore_additional_command_args: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterBackupBarmanObjectStoreWalCompression {
#[serde(rename = "bzip2")]
Bzip2,
#[serde(rename = "gzip")]
Gzip,
#[serde(rename = "lz4")]
Lz4,
#[serde(rename = "snappy")]
Snappy,
#[serde(rename = "xz")]
Xz,
#[serde(rename = "zstd")]
Zstd,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterBackupBarmanObjectStoreWalEncryption {
#[serde(rename = "AES256")]
Aes256,
#[serde(rename = "aws:kms")]
AwsKms,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterBackupTarget {
#[serde(rename = "primary")]
Primary,
#[serde(rename = "prefer-standby")]
PreferStandby,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupVolumeSnapshot {
#[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", rename = "className")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub class_name: Option<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 online: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "onlineConfiguration"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub online_configuration: Option<ClusterBackupVolumeSnapshotOnlineConfiguration>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "snapshotOwnerReference"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub snapshot_owner_reference: Option<ClusterBackupVolumeSnapshotSnapshotOwnerReference>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "tablespaceClassName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tablespace_class_name: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "walClassName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wal_class_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBackupVolumeSnapshotOnlineConfiguration {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "immediateCheckpoint"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub immediate_checkpoint: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "waitForArchive"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wait_for_archive: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterBackupVolumeSnapshotSnapshotOwnerReference {
#[serde(rename = "none")]
None,
#[serde(rename = "cluster")]
Cluster,
#[serde(rename = "backup")]
Backup,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrap {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initdb: Option<ClusterBootstrapInitdb>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_basebackup: Option<ClusterBootstrapPgBasebackup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub recovery: Option<ClusterBootstrapRecovery>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapInitdb {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "builtinLocale"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub builtin_locale: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataChecksums"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_checksums: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub database: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub encoding: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "icuLocale")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub icu_locale: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "icuRules")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub icu_rules: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub import: Option<ClusterBootstrapInitdbImport>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub locale: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localeCType"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub locale_c_type: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localeCollate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub locale_collate: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "localeProvider"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub locale_provider: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub options: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub owner: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postInitApplicationSQL"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_init_application_sql: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postInitApplicationSQLRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_init_application_sql_refs: Option<ClusterBootstrapInitdbPostInitApplicationSqlRefs>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postInitSQL"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_init_sql: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postInitSQLRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_init_sql_refs: Option<ClusterBootstrapInitdbPostInitSqlRefs>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postInitTemplateSQL"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_init_template_sql: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postInitTemplateSQLRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_init_template_sql_refs: Option<ClusterBootstrapInitdbPostInitTemplateSqlRefs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret: Option<ClusterBootstrapInitdbSecret>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "walSegmentSize"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wal_segment_size: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapInitdbImport {
#[cfg_attr(feature = "builder", builder(default))]
pub databases: Vec<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgDumpExtraOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_dump_extra_options: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgRestoreDataOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_restore_data_options: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgRestoreExtraOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_restore_extra_options: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgRestorePostdataOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_restore_postdata_options: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgRestorePredataOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_restore_predata_options: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "postImportApplicationSQL"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub post_import_application_sql: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub roles: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "schemaOnly"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub schema_only: Option<bool>,
pub source: ClusterBootstrapInitdbImportSource,
#[serde(rename = "type")]
pub r#type: ClusterBootstrapInitdbImportType,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapInitdbImportSource {
#[serde(rename = "externalCluster")]
pub external_cluster: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterBootstrapInitdbImportType {
#[serde(rename = "microservice")]
Microservice,
#[serde(rename = "monolith")]
Monolith,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapInitdbPostInitApplicationSqlRefs {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_refs: Option<Vec<ClusterBootstrapInitdbPostInitApplicationSqlRefsConfigMapRefs>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_refs: Option<Vec<ClusterBootstrapInitdbPostInitApplicationSqlRefsSecretRefs>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapInitdbPostInitApplicationSqlRefsConfigMapRefs {
pub key: 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 ClusterBootstrapInitdbPostInitApplicationSqlRefsSecretRefs {
pub key: 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 ClusterBootstrapInitdbPostInitSqlRefs {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_refs: Option<Vec<ClusterBootstrapInitdbPostInitSqlRefsConfigMapRefs>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_refs: Option<Vec<ClusterBootstrapInitdbPostInitSqlRefsSecretRefs>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapInitdbPostInitSqlRefsConfigMapRefs {
pub key: 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 ClusterBootstrapInitdbPostInitSqlRefsSecretRefs {
pub key: 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 ClusterBootstrapInitdbPostInitTemplateSqlRefs {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_refs: Option<Vec<ClusterBootstrapInitdbPostInitTemplateSqlRefsConfigMapRefs>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_refs: Option<Vec<ClusterBootstrapInitdbPostInitTemplateSqlRefsSecretRefs>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapInitdbPostInitTemplateSqlRefsConfigMapRefs {
pub key: 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 ClusterBootstrapInitdbPostInitTemplateSqlRefsSecretRefs {
pub key: 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 ClusterBootstrapInitdbSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapPgBasebackup {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub database: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub owner: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret: Option<ClusterBootstrapPgBasebackupSecret>,
pub source: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapPgBasebackupSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapRecovery {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub backup: Option<ClusterBootstrapRecoveryBackup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub database: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub owner: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "recoveryTarget"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub recovery_target: Option<ClusterBootstrapRecoveryRecoveryTarget>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret: Option<ClusterBootstrapRecoverySecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub source: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeSnapshots"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_snapshots: Option<ClusterBootstrapRecoveryVolumeSnapshots>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapRecoveryBackup {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "endpointCA"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub endpoint_ca: Option<ClusterBootstrapRecoveryBackupEndpointCa>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapRecoveryBackupEndpointCa {
pub key: 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 ClusterBootstrapRecoveryRecoveryTarget {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backupID")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub backup_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exclusive: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetImmediate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_immediate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLSN")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_lsn: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetTLI")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_tli: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetTime"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetXID")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_xid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapRecoverySecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapRecoveryVolumeSnapshots {
pub storage: ClusterBootstrapRecoveryVolumeSnapshotsStorage,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "tablespaceStorage"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tablespace_storage:
Option<BTreeMap<String, ClusterBootstrapRecoveryVolumeSnapshotsTablespaceStorage>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "walStorage"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wal_storage: Option<ClusterBootstrapRecoveryVolumeSnapshotsWalStorage>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterBootstrapRecoveryVolumeSnapshotsStorage {
#[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 ClusterBootstrapRecoveryVolumeSnapshotsTablespaceStorage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub api_group: 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")]
#[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 ClusterBootstrapRecoveryVolumeSnapshotsWalStorage {
#[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 ClusterCertificates {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clientCASecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_ca_secret: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "replicationTLSSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replication_tls_secret: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverAltDNSNames"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_alt_dns_names: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverCASecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_ca_secret: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverTLSSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_tls_secret: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterEnv {
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<ClusterEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterEnvValueFrom {
#[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<ClusterEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<ClusterEnvValueFromFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "fileKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub file_key_ref: Option<ClusterEnvValueFromFileKeyRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceFieldRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_field_ref: Option<ClusterEnvValueFromResourceFieldRef>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretKeyRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_key_ref: Option<ClusterEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterEnvValueFromConfigMapKeyRef {
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 ClusterEnvValueFromFieldRef {
#[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 ClusterEnvValueFromFileKeyRef {
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 ClusterEnvValueFromResourceFieldRef {
#[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 ClusterEnvValueFromSecretKeyRef {
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 ClusterEnvFrom {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_ref: Option<ClusterEnvFromConfigMapRef>,
#[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<ClusterEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterEnvFromConfigMapRef {
#[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 ClusterEnvFromSecretRef {
#[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 ClusterEphemeralVolumeSource {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "volumeClaimTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub volume_claim_template: Option<ClusterEphemeralVolumeSourceVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterEphemeralVolumeSourceVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metadata: Option<ClusterEphemeralVolumeSourceVolumeClaimTemplateMetadata>,
pub spec: ClusterEphemeralVolumeSourceVolumeClaimTemplateSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterEphemeralVolumeSourceVolumeClaimTemplateMetadata {}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterEphemeralVolumeSourceVolumeClaimTemplateSpec {
#[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<ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecDataSource>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataSourceRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_source_ref: Option<ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub selector: Option<ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecSelector>,
#[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 ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecDataSource {
#[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 ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecDataSourceRef {
#[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 ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecResources {
#[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 ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions:
Option<Vec<ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecSelectorMatchExpressions>>,
#[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 ClusterEphemeralVolumeSourceVolumeClaimTemplateSpecSelectorMatchExpressions {
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 ClusterEphemeralVolumesSizeLimit {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub shm: Option<IntOrString>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "temporaryData"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub temporary_data: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClusters {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "barmanObjectStore"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub barman_object_store: Option<ClusterExternalClustersBarmanObjectStore>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "connectionParameters"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub connection_parameters: Option<BTreeMap<String, String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub password: Option<ClusterExternalClustersPassword>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub plugin: Option<ClusterExternalClustersPlugin>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sslCert")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ssl_cert: Option<ClusterExternalClustersSslCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sslKey")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ssl_key: Option<ClusterExternalClustersSslKey>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sslRootCert"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ssl_root_cert: Option<ClusterExternalClustersSslRootCert>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClustersBarmanObjectStore {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "azureCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub azure_credentials: Option<ClusterExternalClustersBarmanObjectStoreAzureCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data: Option<ClusterExternalClustersBarmanObjectStoreData>,
#[serde(rename = "destinationPath")]
pub destination_path: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "endpointCA"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub endpoint_ca: Option<ClusterExternalClustersBarmanObjectStoreEndpointCa>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "endpointURL"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub endpoint_url: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "googleCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub google_credentials: Option<ClusterExternalClustersBarmanObjectStoreGoogleCredentials>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "historyTags"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub history_tags: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "s3Credentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub s3_credentials: Option<ClusterExternalClustersBarmanObjectStoreS3Credentials>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverName"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tags: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wal: Option<ClusterExternalClustersBarmanObjectStoreWal>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClustersBarmanObjectStoreAzureCredentials {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "connectionString"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub connection_string:
Option<ClusterExternalClustersBarmanObjectStoreAzureCredentialsConnectionString>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "inheritFromAzureAD"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub inherit_from_azure_ad: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageAccount"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_account:
Option<ClusterExternalClustersBarmanObjectStoreAzureCredentialsStorageAccount>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageKey"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_key: Option<ClusterExternalClustersBarmanObjectStoreAzureCredentialsStorageKey>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageSasToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_sas_token:
Option<ClusterExternalClustersBarmanObjectStoreAzureCredentialsStorageSasToken>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "useDefaultAzureCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub use_default_azure_credentials: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClustersBarmanObjectStoreAzureCredentialsConnectionString {
pub key: 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 ClusterExternalClustersBarmanObjectStoreAzureCredentialsStorageAccount {
pub key: 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 ClusterExternalClustersBarmanObjectStoreAzureCredentialsStorageKey {
pub key: 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 ClusterExternalClustersBarmanObjectStoreAzureCredentialsStorageSasToken {
pub key: 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 ClusterExternalClustersBarmanObjectStoreData {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "additionalCommandArgs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub additional_command_args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub compression: Option<ClusterExternalClustersBarmanObjectStoreDataCompression>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub encryption: Option<ClusterExternalClustersBarmanObjectStoreDataEncryption>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "immediateCheckpoint"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub immediate_checkpoint: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub jobs: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterExternalClustersBarmanObjectStoreDataCompression {
#[serde(rename = "bzip2")]
Bzip2,
#[serde(rename = "gzip")]
Gzip,
#[serde(rename = "lz4")]
Lz4,
#[serde(rename = "snappy")]
Snappy,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterExternalClustersBarmanObjectStoreDataEncryption {
#[serde(rename = "AES256")]
Aes256,
#[serde(rename = "aws:kms")]
AwsKms,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClustersBarmanObjectStoreEndpointCa {
pub key: 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 ClusterExternalClustersBarmanObjectStoreGoogleCredentials {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "applicationCredentials"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub application_credentials:
Option<ClusterExternalClustersBarmanObjectStoreGoogleCredentialsApplicationCredentials>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "gkeEnvironment"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub gke_environment: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClustersBarmanObjectStoreGoogleCredentialsApplicationCredentials {
pub key: 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 ClusterExternalClustersBarmanObjectStoreS3Credentials {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "accessKeyId"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub access_key_id: Option<ClusterExternalClustersBarmanObjectStoreS3CredentialsAccessKeyId>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "inheritFromIAMRole"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub inherit_from_iam_role: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub region: Option<ClusterExternalClustersBarmanObjectStoreS3CredentialsRegion>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretAccessKey"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret_access_key:
Option<ClusterExternalClustersBarmanObjectStoreS3CredentialsSecretAccessKey>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "sessionToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub session_token: Option<ClusterExternalClustersBarmanObjectStoreS3CredentialsSessionToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClustersBarmanObjectStoreS3CredentialsAccessKeyId {
pub key: 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 ClusterExternalClustersBarmanObjectStoreS3CredentialsRegion {
pub key: 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 ClusterExternalClustersBarmanObjectStoreS3CredentialsSecretAccessKey {
pub key: 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 ClusterExternalClustersBarmanObjectStoreS3CredentialsSessionToken {
pub key: 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 ClusterExternalClustersBarmanObjectStoreWal {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "archiveAdditionalCommandArgs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub archive_additional_command_args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub compression: Option<ClusterExternalClustersBarmanObjectStoreWalCompression>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub encryption: Option<ClusterExternalClustersBarmanObjectStoreWalEncryption>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "maxParallel"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub max_parallel: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restoreAdditionalCommandArgs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restore_additional_command_args: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterExternalClustersBarmanObjectStoreWalCompression {
#[serde(rename = "bzip2")]
Bzip2,
#[serde(rename = "gzip")]
Gzip,
#[serde(rename = "lz4")]
Lz4,
#[serde(rename = "snappy")]
Snappy,
#[serde(rename = "xz")]
Xz,
#[serde(rename = "zstd")]
Zstd,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterExternalClustersBarmanObjectStoreWalEncryption {
#[serde(rename = "AES256")]
Aes256,
#[serde(rename = "aws:kms")]
AwsKms,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterExternalClustersPassword {
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 ClusterExternalClustersPlugin {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enabled: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "isWALArchiver"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub is_wal_archiver: Option<bool>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub parameters: 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 ClusterExternalClustersSslCert {
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 ClusterExternalClustersSslKey {
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 ClusterExternalClustersSslRootCert {
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 ClusterImageCatalogRef {
#[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 major: i64,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterImagePullSecrets {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterInheritedMetadata {
#[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>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterLogLevel {
#[serde(rename = "error")]
Error,
#[serde(rename = "warning")]
Warning,
#[serde(rename = "info")]
Info,
#[serde(rename = "debug")]
Debug,
#[serde(rename = "trace")]
Trace,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManaged {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub roles: Option<Vec<ClusterManagedRoles>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub services: Option<ClusterManagedServices>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManagedRoles {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bypassrls: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub comment: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "connectionLimit"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub connection_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub createdb: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub createrole: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "disablePassword"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub disable_password: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ensure: Option<ClusterManagedRolesEnsure>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "inRoles")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub in_roles: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub inherit: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub login: Option<bool>,
pub name: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "passwordSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub password_secret: Option<ClusterManagedRolesPasswordSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replication: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub superuser: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "validUntil"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub valid_until: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterManagedRolesEnsure {
#[serde(rename = "present")]
Present,
#[serde(rename = "absent")]
Absent,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManagedRolesPasswordSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManagedServices {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub additional: Option<Vec<ClusterManagedServicesAdditional>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "disabledDefaultServices"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub disabled_default_services: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManagedServicesAdditional {
#[serde(rename = "selectorType")]
pub selector_type: ClusterManagedServicesAdditionalSelectorType,
#[serde(rename = "serviceTemplate")]
pub service_template: ClusterManagedServicesAdditionalServiceTemplate,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "updateStrategy"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub update_strategy: Option<ClusterManagedServicesAdditionalUpdateStrategy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterManagedServicesAdditionalSelectorType {
#[serde(rename = "rw")]
Rw,
#[serde(rename = "r")]
R,
#[serde(rename = "ro")]
Ro,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManagedServicesAdditionalServiceTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metadata: Option<ClusterManagedServicesAdditionalServiceTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub spec: Option<ClusterManagedServicesAdditionalServiceTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManagedServicesAdditionalServiceTemplateMetadata {
#[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 ClusterManagedServicesAdditionalServiceTemplateSpec {
#[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<ClusterManagedServicesAdditionalServiceTemplateSpecPorts>>,
#[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<ClusterManagedServicesAdditionalServiceTemplateSpecSessionAffinityConfig>,
#[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 ClusterManagedServicesAdditionalServiceTemplateSpecPorts {
#[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 ClusterManagedServicesAdditionalServiceTemplateSpecSessionAffinityConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientIP")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_ip:
Option<ClusterManagedServicesAdditionalServiceTemplateSpecSessionAffinityConfigClientIp>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterManagedServicesAdditionalServiceTemplateSpecSessionAffinityConfigClientIp {
#[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, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterManagedServicesAdditionalUpdateStrategy {
#[serde(rename = "patch")]
Patch,
#[serde(rename = "replace")]
Replace,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterMonitoring {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "customQueriesConfigMap"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub custom_queries_config_map: Option<Vec<ClusterMonitoringCustomQueriesConfigMap>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "customQueriesSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub custom_queries_secret: Option<Vec<ClusterMonitoringCustomQueriesSecret>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "disableDefaultQueries"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub disable_default_queries: Option<bool>,
#[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 = "metricsQueriesTTL"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metrics_queries_ttl: Option<String>,
#[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<ClusterMonitoringPodMonitorMetricRelabelings>>,
#[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<ClusterMonitoringPodMonitorRelabelings>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tls: Option<ClusterMonitoringTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterMonitoringCustomQueriesConfigMap {
pub key: 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 ClusterMonitoringCustomQueriesSecret {
pub key: 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 ClusterMonitoringPodMonitorMetricRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub action: Option<ClusterMonitoringPodMonitorMetricRelabelingsAction>,
#[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 ClusterMonitoringPodMonitorMetricRelabelingsAction {
#[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 ClusterMonitoringPodMonitorRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub action: Option<ClusterMonitoringPodMonitorRelabelingsAction>,
#[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 ClusterMonitoringPodMonitorRelabelingsAction {
#[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 ClusterMonitoringTls {
#[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 ClusterNodeMaintenanceWindow {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "inProgress"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub in_progress: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "reusePVC")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub reuse_pvc: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPlugins {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enabled: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "isWALArchiver"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub is_wal_archiver: Option<bool>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub parameters: 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 ClusterPodSecurityContext {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "appArmorProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub app_armor_profile: Option<ClusterPodSecurityContextAppArmorProfile>,
#[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<ClusterPodSecurityContextSeLinuxOptions>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seccompProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub seccomp_profile: Option<ClusterPodSecurityContextSeccompProfile>,
#[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<ClusterPodSecurityContextSysctls>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "windowsOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub windows_options: Option<ClusterPodSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPodSecurityContextAppArmorProfile {
#[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 ClusterPodSecurityContextSeLinuxOptions {
#[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 ClusterPodSecurityContextSeccompProfile {
#[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 ClusterPodSecurityContextSysctls {
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 ClusterPodSecurityContextWindowsOptions {
#[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 ClusterPodSelectorRefs {
pub name: String,
pub selector: ClusterPodSelectorRefsSelector,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPodSelectorRefsSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterPodSelectorRefsSelectorMatchExpressions>>,
#[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 ClusterPodSelectorRefsSelectorMatchExpressions {
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 ClusterPostgresql {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "enableAlterSystem"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enable_alter_system: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub extensions: Option<Vec<ClusterPostgresqlExtensions>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ldap: Option<ClusterPostgresqlLdap>,
#[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 pg_hba: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_ident: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "promotionTimeout"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub promotion_timeout: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub shared_preload_libraries: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "syncReplicaElectionConstraint"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub sync_replica_election_constraint: Option<ClusterPostgresqlSyncReplicaElectionConstraint>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub synchronous: Option<ClusterPostgresqlSynchronous>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPostgresqlExtensions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bin_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dynamic_library_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env: Option<Vec<ClusterPostgresqlExtensionsEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub extension_control_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<ClusterPostgresqlExtensionsImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ld_library_path: Option<Vec<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 ClusterPostgresqlExtensionsEnv {
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 ClusterPostgresqlExtensionsImage {
#[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 ClusterPostgresqlLdap {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "bindAsAuth"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bind_as_auth: Option<ClusterPostgresqlLdapBindAsAuth>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "bindSearchAuth"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bind_search_auth: Option<ClusterPostgresqlLdapBindSearchAuth>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub port: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub scheme: Option<ClusterPostgresqlLdapScheme>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tls: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPostgresqlLdapBindAsAuth {
#[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")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub suffix: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPostgresqlLdapBindSearchAuth {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "baseDN")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub base_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bindDN")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bind_dn: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "bindPassword"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bind_password: Option<ClusterPostgresqlLdapBindSearchAuthBindPassword>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "searchAttribute"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub search_attribute: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "searchFilter"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub search_filter: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPostgresqlLdapBindSearchAuthBindPassword {
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, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterPostgresqlLdapScheme {
#[serde(rename = "ldap")]
Ldap,
#[serde(rename = "ldaps")]
Ldaps,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPostgresqlSyncReplicaElectionConstraint {
pub enabled: bool,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "nodeLabelsAntiAffinity"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub node_labels_anti_affinity: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPostgresqlSynchronous {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataDurability"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_durability: Option<ClusterPostgresqlSynchronousDataDurability>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "failoverQuorum"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub failover_quorum: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "maxStandbyNamesFromCluster"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub max_standby_names_from_cluster: Option<i64>,
pub method: ClusterPostgresqlSynchronousMethod,
pub number: i64,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "standbyNamesPost"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub standby_names_post: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "standbyNamesPre"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub standby_names_pre: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterPostgresqlSynchronousDataDurability {
#[serde(rename = "required")]
Required,
#[serde(rename = "preferred")]
Preferred,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterPostgresqlSynchronousMethod {
#[serde(rename = "any")]
Any,
#[serde(rename = "first")]
First,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterPrimaryLease {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "leaseDurationSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub lease_duration_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "releasedLeaseDurationSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub released_lease_duration_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "renewDeadlineSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub renew_deadline_seconds: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "retryPeriodSeconds"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub retry_period_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterPrimaryUpdateMethod {
#[serde(rename = "switchover")]
Switchover,
#[serde(rename = "restart")]
Restart,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterPrimaryUpdateStrategy {
#[serde(rename = "unsupervised")]
Unsupervised,
#[serde(rename = "supervised")]
Supervised,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProbes {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub liveness: Option<ClusterProbesLiveness>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub readiness: Option<ClusterProbesReadiness>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub startup: Option<ClusterProbesStartup>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProbesLiveness {
#[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",
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 = "isolationCheck"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub isolation_check: Option<ClusterProbesLivenessIsolationCheck>,
#[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 = "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 ClusterProbesLivenessIsolationCheck {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "connectionTimeout"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub connection_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enabled: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "requestTimeout"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub request_timeout: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProbesReadiness {
#[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",
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 = "maximumLag"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub maximum_lag: Option<IntOrString>,
#[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 = "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>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<ClusterProbesReadinessType>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterProbesReadinessType {
#[serde(rename = "pg_isready")]
PgIsready,
#[serde(rename = "streaming")]
Streaming,
#[serde(rename = "query")]
Query,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProbesStartup {
#[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",
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 = "maximumLag"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub maximum_lag: Option<IntOrString>,
#[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 = "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>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#type: Option<ClusterProbesStartupType>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ClusterProbesStartupType {
#[serde(rename = "pg_isready")]
PgIsready,
#[serde(rename = "streaming")]
Streaming,
#[serde(rename = "query")]
Query,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProjectedVolumeTemplate {
#[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<ClusterProjectedVolumeTemplateSources>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProjectedVolumeTemplateSources {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clusterTrustBundle"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cluster_trust_bundle: Option<ClusterProjectedVolumeTemplateSourcesClusterTrustBundle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map: Option<ClusterProjectedVolumeTemplateSourcesConfigMap>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "downwardAPI"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub downward_api: Option<ClusterProjectedVolumeTemplateSourcesDownwardApi>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podCertificate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_certificate: Option<ClusterProjectedVolumeTemplateSourcesPodCertificate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secret: Option<ClusterProjectedVolumeTemplateSourcesSecret>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serviceAccountToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub service_account_token: Option<ClusterProjectedVolumeTemplateSourcesServiceAccountToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProjectedVolumeTemplateSourcesClusterTrustBundle {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "labelSelector"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector:
Option<ClusterProjectedVolumeTemplateSourcesClusterTrustBundleLabelSelector>,
#[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 ClusterProjectedVolumeTemplateSourcesClusterTrustBundleLabelSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<
Vec<ClusterProjectedVolumeTemplateSourcesClusterTrustBundleLabelSelectorMatchExpressions>,
>,
#[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 ClusterProjectedVolumeTemplateSourcesClusterTrustBundleLabelSelectorMatchExpressions {
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 ClusterProjectedVolumeTemplateSourcesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<ClusterProjectedVolumeTemplateSourcesConfigMapItems>>,
#[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 ClusterProjectedVolumeTemplateSourcesConfigMapItems {
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 ClusterProjectedVolumeTemplateSourcesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<ClusterProjectedVolumeTemplateSourcesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProjectedVolumeTemplateSourcesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub field_ref: Option<ClusterProjectedVolumeTemplateSourcesDownwardApiItemsFieldRef>,
#[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<ClusterProjectedVolumeTemplateSourcesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterProjectedVolumeTemplateSourcesDownwardApiItemsFieldRef {
#[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 ClusterProjectedVolumeTemplateSourcesDownwardApiItemsResourceFieldRef {
#[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 ClusterProjectedVolumeTemplateSourcesPodCertificate {
#[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 ClusterProjectedVolumeTemplateSourcesSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub items: Option<Vec<ClusterProjectedVolumeTemplateSourcesSecretItems>>,
#[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 ClusterProjectedVolumeTemplateSourcesSecretItems {
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 ClusterProjectedVolumeTemplateSourcesServiceAccountToken {
#[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 ClusterReplica {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enabled: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "minApplyDelay"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub min_apply_delay: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub primary: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "promotionToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub promotion_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "self")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub r#_self: Option<String>,
pub source: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterReplicationSlots {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "highAvailability"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub high_availability: Option<ClusterReplicationSlotsHighAvailability>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "synchronizeReplicas"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub synchronize_replicas: Option<ClusterReplicationSlotsSynchronizeReplicas>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "updateInterval"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub update_interval: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterReplicationSlotsHighAvailability {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub enabled: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "slotPrefix"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub slot_prefix: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "synchronizeLogicalDecoding"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub synchronize_logical_decoding: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterReplicationSlotsSynchronizeReplicas {
pub enabled: bool,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "excludePatterns"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub exclude_patterns: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub claims: Option<Vec<ClusterResourcesClaims>>,
#[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 ClusterResourcesClaims {
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 ClusterSeccompProfile {
#[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 ClusterSecurityContext {
#[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<ClusterSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub capabilities: Option<ClusterSecurityContextCapabilities>,
#[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<ClusterSecurityContextSeLinuxOptions>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "seccompProfile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub seccomp_profile: Option<ClusterSecurityContextSeccompProfile>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "windowsOptions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub windows_options: Option<ClusterSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterSecurityContextAppArmorProfile {
#[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 ClusterSecurityContextCapabilities {
#[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 ClusterSecurityContextSeLinuxOptions {
#[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 ClusterSecurityContextSeccompProfile {
#[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 ClusterSecurityContextWindowsOptions {
#[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 ClusterServiceAccountTemplate {
pub metadata: ClusterServiceAccountTemplateMetadata,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterServiceAccountTemplateMetadata {
#[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 ClusterStorage {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pvcTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pvc_template: Option<ClusterStoragePvcTemplate>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resizeInUseVolumes"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resize_in_use_volumes: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub size: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageClass"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStoragePvcTemplate {
#[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<ClusterStoragePvcTemplateDataSource>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataSourceRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_source_ref: Option<ClusterStoragePvcTemplateDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<ClusterStoragePvcTemplateResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub selector: Option<ClusterStoragePvcTemplateSelector>,
#[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 ClusterStoragePvcTemplateDataSource {
#[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 ClusterStoragePvcTemplateDataSourceRef {
#[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 ClusterStoragePvcTemplateResources {
#[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 ClusterStoragePvcTemplateSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterStoragePvcTemplateSelectorMatchExpressions>>,
#[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 ClusterStoragePvcTemplateSelectorMatchExpressions {
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 ClusterSuperuserSecret {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterTablespaces {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub owner: Option<ClusterTablespacesOwner>,
pub storage: ClusterTablespacesStorage,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub temporary: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterTablespacesOwner {
#[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 ClusterTablespacesStorage {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pvcTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pvc_template: Option<ClusterTablespacesStoragePvcTemplate>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resizeInUseVolumes"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resize_in_use_volumes: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub size: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageClass"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterTablespacesStoragePvcTemplate {
#[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<ClusterTablespacesStoragePvcTemplateDataSource>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataSourceRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_source_ref: Option<ClusterTablespacesStoragePvcTemplateDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<ClusterTablespacesStoragePvcTemplateResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub selector: Option<ClusterTablespacesStoragePvcTemplateSelector>,
#[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 ClusterTablespacesStoragePvcTemplateDataSource {
#[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 ClusterTablespacesStoragePvcTemplateDataSourceRef {
#[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 ClusterTablespacesStoragePvcTemplateResources {
#[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 ClusterTablespacesStoragePvcTemplateSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions:
Option<Vec<ClusterTablespacesStoragePvcTemplateSelectorMatchExpressions>>,
#[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 ClusterTablespacesStoragePvcTemplateSelectorMatchExpressions {
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 ClusterTopologySpreadConstraints {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "labelSelector"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub label_selector: Option<ClusterTopologySpreadConstraintsLabelSelector>,
#[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 ClusterTopologySpreadConstraintsLabelSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions:
Option<Vec<ClusterTopologySpreadConstraintsLabelSelectorMatchExpressions>>,
#[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 ClusterTopologySpreadConstraintsLabelSelectorMatchExpressions {
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 ClusterWalStorage {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pvcTemplate"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pvc_template: Option<ClusterWalStoragePvcTemplate>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resizeInUseVolumes"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resize_in_use_volumes: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub size: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "storageClass"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterWalStoragePvcTemplate {
#[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<ClusterWalStoragePvcTemplateDataSource>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "dataSourceRef"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub data_source_ref: Option<ClusterWalStoragePvcTemplateDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resources: Option<ClusterWalStoragePvcTemplateResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub selector: Option<ClusterWalStoragePvcTemplateSelector>,
#[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 ClusterWalStoragePvcTemplateDataSource {
#[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 ClusterWalStoragePvcTemplateDataSourceRef {
#[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 ClusterWalStoragePvcTemplateResources {
#[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 ClusterWalStoragePvcTemplateSelector {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "matchExpressions"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub match_expressions: Option<Vec<ClusterWalStoragePvcTemplateSelectorMatchExpressions>>,
#[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 ClusterWalStoragePvcTemplateSelectorMatchExpressions {
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 ClusterStatus {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "availableArchitectures"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub available_architectures: Option<Vec<ClusterStatusAvailableArchitectures>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub certificates: Option<ClusterStatusCertificates>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "cloudNativePGCommitHash"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cloud_native_pg_commit_hash: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "cloudNativePGOperatorHash"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cloud_native_pg_operator_hash: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub conditions: Option<Vec<Condition>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "configMapResourceVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub config_map_resource_version: Option<ClusterStatusConfigMapResourceVersion>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "currentPrimary"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub current_primary: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "currentPrimaryFailingSinceTimestamp"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub current_primary_failing_since_timestamp: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "currentPrimaryTimestamp"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub current_primary_timestamp: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "danglingPVC"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dangling_pvc: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "demotionToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub demotion_token: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "firstRecoverabilityPoint"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub first_recoverability_point: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "firstRecoverabilityPointByMethod"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub first_recoverability_point_by_method: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "healthyPVC"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub healthy_pvc: Option<Vec<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",
rename = "initializingPVC"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub initializing_pvc: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "instanceNames"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub instance_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub instances: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "instancesReportedState"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub instances_reported_state: Option<BTreeMap<String, ClusterStatusInstancesReportedState>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "instancesStatus"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub instances_status: Option<BTreeMap<String, Vec<String>>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jobCount")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub job_count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "lastFailedBackup"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub last_failed_backup: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "lastPromotionToken"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub last_promotion_token: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "lastSuccessfulBackup"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub last_successful_backup: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "lastSuccessfulBackupByMethod"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub last_successful_backup_by_method: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "latestGeneratedNode"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub latest_generated_node: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "managedRolesStatus"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub managed_roles_status: Option<ClusterStatusManagedRolesStatus>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "onlineUpdateEnabled"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub online_update_enabled: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "operatorCertificateFingerprint"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub operator_certificate_fingerprint: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgDataImageInfo"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_data_image_info: Option<ClusterStatusPgDataImageInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub phase: Option<String>,
#[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",
rename = "pluginStatus"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub plugin_status: Option<Vec<ClusterStatusPluginStatus>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "podSelectorRefs"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pod_selector_refs: Option<Vec<ClusterStatusPodSelectorRefs>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "poolerIntegrations"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pooler_integrations: Option<ClusterStatusPoolerIntegrations>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pvcCount")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pvc_count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readService"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub read_service: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "readyInstances"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ready_instances: Option<i64>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resizingPVC"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resizing_pvc: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "secretsResourceVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secrets_resource_version: Option<ClusterStatusSecretsResourceVersion>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub selector: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "switchReplicaClusterStatus"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub switch_replica_cluster_status: Option<ClusterStatusSwitchReplicaClusterStatus>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "systemID")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub system_id: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "tablespacesStatus"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub tablespaces_status: Option<Vec<ClusterStatusTablespacesStatus>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetPgDataImageInfo"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_pg_data_image_info: Option<ClusterStatusTargetPgDataImageInfo>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetPrimary"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_primary: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "targetPrimaryTimestamp"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub target_primary_timestamp: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timelineID"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub timeline_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub topology: Option<ClusterStatusTopology>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "unusablePVC"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub unusable_pvc: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "writeService"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub write_service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusAvailableArchitectures {
#[serde(rename = "goArch")]
pub go_arch: String,
pub hash: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusCertificates {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clientCASecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_ca_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub expirations: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "replicationTLSSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replication_tls_secret: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverAltDNSNames"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_alt_dns_names: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverCASecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_ca_secret: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverTLSSecret"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_tls_secret: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusConfigMapResourceVersion {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metrics: 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 ClusterStatusInstancesReportedState {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "isPrimary")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub is_primary: Option<bool>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "timeLineID"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub time_line_id: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusManagedRolesStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "byStatus")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub by_status: Option<BTreeMap<String, Vec<String>>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "cannotReconcile"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub cannot_reconcile: Option<BTreeMap<String, Vec<String>>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "passwordStatus"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub password_status: Option<BTreeMap<String, ClusterStatusManagedRolesStatusPasswordStatus>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusManagedRolesStatusPasswordStatus {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "resourceVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub resource_version: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "transactionID"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub transaction_id: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusPgDataImageInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub extensions: Option<Vec<ClusterStatusPgDataImageInfoExtensions>>,
pub image: String,
#[serde(rename = "majorVersion")]
pub major_version: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusPgDataImageInfoExtensions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bin_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dynamic_library_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env: Option<Vec<ClusterStatusPgDataImageInfoExtensionsEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub extension_control_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<ClusterStatusPgDataImageInfoExtensionsImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ld_library_path: Option<Vec<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 ClusterStatusPgDataImageInfoExtensionsEnv {
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 ClusterStatusPgDataImageInfoExtensionsImage {
#[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 ClusterStatusPluginStatus {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "backupCapabilities"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub backup_capabilities: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub capabilities: Option<Vec<String>>,
pub name: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "operatorCapabilities"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub operator_capabilities: Option<Vec<String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "restoreJobHookCapabilities"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub restore_job_hook_capabilities: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub status: Option<String>,
pub version: String,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "walCapabilities"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub wal_capabilities: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusPodSelectorRefs {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ips: Option<Vec<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 ClusterStatusPoolerIntegrations {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "pgBouncerIntegration"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub pg_bouncer_integration: Option<ClusterStatusPoolerIntegrationsPgBouncerIntegration>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusPoolerIntegrationsPgBouncerIntegration {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub secrets: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusSecretsResourceVersion {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "applicationSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub application_secret_version: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "barmanEndpointCA"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub barman_endpoint_ca: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "caSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ca_secret_version: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "clientCaSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub client_ca_secret_version: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "externalClusterSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub external_cluster_secret_version: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "managedRoleSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub managed_role_secret_version: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub metrics: Option<BTreeMap<String, String>>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "replicationSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub replication_secret_version: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverCaSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_ca_secret_version: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "serverSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub server_secret_version: Option<String>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "superuserSecretVersion"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub superuser_secret_version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusSwitchReplicaClusterStatus {
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "inProgress"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub in_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusTablespacesStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub error: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub owner: Option<String>,
pub state: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusTargetPgDataImageInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub extensions: Option<Vec<ClusterStatusTargetPgDataImageInfoExtensions>>,
pub image: String,
#[serde(rename = "majorVersion")]
pub major_version: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "builder", derive(TypedBuilder))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub struct ClusterStatusTargetPgDataImageInfoExtensions {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub bin_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub dynamic_library_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub env: Option<Vec<ClusterStatusTargetPgDataImageInfoExtensionsEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub extension_control_path: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub image: Option<ClusterStatusTargetPgDataImageInfoExtensionsImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub ld_library_path: Option<Vec<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 ClusterStatusTargetPgDataImageInfoExtensionsEnv {
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 ClusterStatusTargetPgDataImageInfoExtensionsImage {
#[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 ClusterStatusTopology {
#[serde(default, skip_serializing_if = "Option::is_none")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub instances: Option<BTreeMap<String, BTreeMap<String, String>>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodesUsed")]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub nodes_used: Option<i32>,
#[serde(
default,
skip_serializing_if = "Option::is_none",
rename = "successfullyExtracted"
)]
#[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
pub successfully_extracted: Option<bool>,
}