#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "couchbase.com", version = "v2", kind = "CouchbaseCluster", plural = "couchbaseclusters")]
#[kube(namespaced)]
#[kube(status = "CouchbaseClusterStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct CouchbaseClusterSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinity")]
pub anti_affinity: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoResourceAllocation")]
pub auto_resource_allocation: Option<CouchbaseClusterAutoResourceAllocation>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoscaleStabilizationPeriod")]
pub autoscale_stabilization_period: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub backup: Option<CouchbaseClusterBackup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub buckets: Option<CouchbaseClusterBuckets>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster: Option<CouchbaseClusterCluster>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableOnlineVolumeExpansion")]
pub enable_online_volume_expansion: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enablePreviewScaling")]
pub enable_preview_scaling: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envImagePrecedence")]
pub env_image_precedence: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hibernate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hibernationStrategy")]
pub hibernation_strategy: Option<CouchbaseClusterHibernationStrategy>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<CouchbaseClusterLogging>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration: Option<CouchbaseClusterMigration>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub monitoring: Option<CouchbaseClusterMonitoring>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub networking: Option<CouchbaseClusterNetworking>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onlineVolumeExpansionTimeoutInMins")]
pub online_volume_expansion_timeout_in_mins: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paused: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "perServiceClassPDB")]
pub per_service_class_pdb: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub platform: Option<CouchbaseClusterPlatform>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recoveryPolicy")]
pub recovery_policy: Option<CouchbaseClusterRecoveryPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rollingUpgrade")]
pub rolling_upgrade: Option<CouchbaseClusterRollingUpgrade>,
pub security: CouchbaseClusterSecurity,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<CouchbaseClusterSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverGroups")]
pub server_groups: Option<Vec<String>>,
pub servers: Vec<CouchbaseClusterServers>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "softwareUpdateNotifications")]
pub software_update_notifications: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "upgradeProcess")]
pub upgrade_process: Option<CouchbaseClusterUpgradeProcess>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "upgradeStrategy")]
pub upgrade_strategy: Option<CouchbaseClusterUpgradeStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplates")]
pub volume_claim_templates: Option<Vec<CouchbaseClusterVolumeClaimTemplates>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub xdcr: Option<CouchbaseClusterXdcr>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterAutoResourceAllocation {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cpuLimits")]
pub cpu_limits: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cpuRequests")]
pub cpu_requests: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "overheadPercent")]
pub overhead_percent: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackup {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<CouchbaseClusterBackupImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub managed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectEndpoint")]
pub object_endpoint: Option<CouchbaseClusterBackupObjectEndpoint>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CouchbaseClusterBackupResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "s3Secret")]
pub s3_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CouchbaseClusterBackupSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CouchbaseClusterBackupTolerations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useIAMRole")]
pub use_iam_role: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackupImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackupObjectEndpoint {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useVirtualPath")]
pub use_virtual_path: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackupResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CouchbaseClusterBackupResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackupResourcesClaims {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackupSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterBackupSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackupSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBackupTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBuckets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub managed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CouchbaseClusterBucketsSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub synchronize: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBucketsSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterBucketsSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterBucketsSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterCluster {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "analyticsServiceMemoryQuota")]
pub analytics_service_memory_quota: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoCompaction")]
pub auto_compaction: Option<CouchbaseClusterClusterAutoCompaction>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoFailoverMaxCount")]
pub auto_failover_max_count: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoFailoverOnDataDiskIssues")]
pub auto_failover_on_data_disk_issues: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoFailoverOnDataDiskIssuesTimePeriod")]
pub auto_failover_on_data_disk_issues_time_period: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoFailoverServerGroup")]
pub auto_failover_server_group: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoFailoverTimeout")]
pub auto_failover_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterName")]
pub cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<CouchbaseClusterClusterData>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataServiceMemoryQuota")]
pub data_service_memory_quota: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventingServiceMemoryQuota")]
pub eventing_service_memory_quota: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "indexServiceMemoryQuota")]
pub index_service_memory_quota: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "indexStorageSetting")]
pub index_storage_setting: Option<CouchbaseClusterClusterIndexStorageSetting>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub indexer: Option<CouchbaseClusterClusterIndexer>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub query: Option<CouchbaseClusterClusterQuery>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "queryServiceMemoryQuota")]
pub query_service_memory_quota: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "searchServiceMemoryQuota")]
pub search_service_memory_quota: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterClusterAutoCompaction {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseFragmentationThreshold")]
pub database_fragmentation_threshold: Option<CouchbaseClusterClusterAutoCompactionDatabaseFragmentationThreshold>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "parallelCompaction")]
pub parallel_compaction: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeWindow")]
pub time_window: Option<CouchbaseClusterClusterAutoCompactionTimeWindow>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tombstonePurgeInterval")]
pub tombstone_purge_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "viewFragmentationThreshold")]
pub view_fragmentation_threshold: Option<CouchbaseClusterClusterAutoCompactionViewFragmentationThreshold>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterClusterAutoCompactionDatabaseFragmentationThreshold {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub percent: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterClusterAutoCompactionTimeWindow {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "abortCompactionOutsideWindow")]
pub abort_compaction_outside_window: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterClusterAutoCompactionViewFragmentationThreshold {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub percent: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterClusterData {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "auxIOThreads")]
pub aux_io_threads: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minReplicasCount")]
pub min_replicas_count: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nonIOThreads")]
pub non_io_threads: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readerThreads")]
pub reader_threads: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "writerThreads")]
pub writer_threads: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterClusterIndexStorageSetting {
#[serde(rename = "memory_optimized")]
MemoryOptimized,
#[serde(rename = "plasma")]
Plasma,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterClusterIndexer {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enablePageBloomFilter")]
pub enable_page_bloom_filter: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableShardAffinity")]
pub enable_shard_affinity: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<CouchbaseClusterClusterIndexerLogLevel>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxRollbackPoints")]
pub max_rollback_points: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memorySnapshotInterval")]
pub memory_snapshot_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "numReplica")]
pub num_replica: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "redistributeIndexes")]
pub redistribute_indexes: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stableSnapshotInterval")]
pub stable_snapshot_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageMode")]
pub storage_mode: Option<CouchbaseClusterClusterIndexerStorageMode>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub threads: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterClusterIndexerLogLevel {
#[serde(rename = "silent")]
Silent,
#[serde(rename = "fatal")]
Fatal,
#[serde(rename = "error")]
Error,
#[serde(rename = "warn")]
Warn,
#[serde(rename = "info")]
Info,
#[serde(rename = "verbose")]
Verbose,
#[serde(rename = "timing")]
Timing,
#[serde(rename = "debug")]
Debug,
#[serde(rename = "trace")]
Trace,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterClusterIndexerStorageMode {
#[serde(rename = "memory_optimized")]
MemoryOptimized,
#[serde(rename = "plasma")]
Plasma,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterClusterQuery {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backfillEnabled")]
pub backfill_enabled: Option<bool>,
#[serde(rename = "cboEnabled")]
pub cbo_enabled: bool,
#[serde(rename = "cleanupClientAttemptsEnabled")]
pub cleanup_client_attempts_enabled: bool,
#[serde(rename = "cleanupLostAttemptsEnabled")]
pub cleanup_lost_attempts_enabled: bool,
#[serde(rename = "cleanupWindow")]
pub cleanup_window: String,
#[serde(rename = "completedLimit")]
pub completed_limit: i32,
#[serde(rename = "completedMaxPlanSize")]
pub completed_max_plan_size: String,
#[serde(rename = "completedTrackingAllRequests")]
pub completed_tracking_all_requests: bool,
#[serde(rename = "completedTrackingEnabled")]
pub completed_tracking_enabled: bool,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "completedTrackingThreshold")]
pub completed_tracking_threshold: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<CouchbaseClusterClusterQueryLogLevel>,
#[serde(rename = "maxParallelism")]
pub max_parallelism: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryQuota")]
pub memory_quota: Option<String>,
#[serde(rename = "nodeQuotaValPercent")]
pub node_quota_val_percent: i32,
#[serde(rename = "numActiveTransactionRecords")]
pub num_active_transaction_records: i32,
#[serde(rename = "numCpus")]
pub num_cpus: i32,
#[serde(rename = "pipelineBatch")]
pub pipeline_batch: i32,
#[serde(rename = "pipelineCap")]
pub pipeline_cap: i32,
#[serde(rename = "preparedLimit")]
pub prepared_limit: i32,
#[serde(rename = "scanCap")]
pub scan_cap: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "temporarySpace")]
pub temporary_space: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "temporarySpaceUnlimited")]
pub temporary_space_unlimited: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "txTimeout")]
pub tx_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useReplica")]
pub use_replica: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterClusterQueryLogLevel {
#[serde(rename = "debug")]
Debug,
#[serde(rename = "trace")]
Trace,
#[serde(rename = "info")]
Info,
#[serde(rename = "warn")]
Warn,
#[serde(rename = "error")]
Error,
#[serde(rename = "severe")]
Severe,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterHibernationStrategy {
Immediate,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit: Option<CouchbaseClusterLoggingAudit>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logRetentionCount")]
pub log_retention_count: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logRetentionTime")]
pub log_retention_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<CouchbaseClusterLoggingServer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingAudit {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disabledEvents")]
pub disabled_events: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disabledUsers")]
pub disabled_users: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "garbageCollection")]
pub garbage_collection: Option<CouchbaseClusterLoggingAuditGarbageCollection>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation: Option<CouchbaseClusterLoggingAuditRotation>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingAuditGarbageCollection {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sidecar: Option<CouchbaseClusterLoggingAuditGarbageCollectionSidecar>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingAuditGarbageCollectionSidecar {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub age: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CouchbaseClusterLoggingAuditGarbageCollectionSidecarResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingAuditGarbageCollectionSidecarResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CouchbaseClusterLoggingAuditGarbageCollectionSidecarResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingAuditGarbageCollectionSidecarResourcesClaims {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingAuditRotation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pruneAge")]
pub prune_age: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingServer {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configurationName")]
pub configuration_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "manageConfiguration")]
pub manage_configuration: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sidecar: Option<CouchbaseClusterLoggingServerSidecar>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingServerSidecar {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configurationMountPath")]
pub configuration_mount_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CouchbaseClusterLoggingServerSidecarResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingServerSidecarResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CouchbaseClusterLoggingServerSidecarResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterLoggingServerSidecarResourcesClaims {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterMigration {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxConcurrentMigrations")]
pub max_concurrent_migrations: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "migrationOrderOverride")]
pub migration_order_override: Option<CouchbaseClusterMigrationMigrationOrderOverride>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "numUnmanagedNodes")]
pub num_unmanaged_nodes: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stabilizationPeriod")]
pub stabilization_period: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "unmanagedClusterHost")]
pub unmanaged_cluster_host: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterMigrationMigrationOrderOverride {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "migrationOrderOverrideStrategy")]
pub migration_order_override_strategy: Option<CouchbaseClusterMigrationMigrationOrderOverrideMigrationOrderOverrideStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeOrder")]
pub node_order: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverClassOrder")]
pub server_class_order: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverGroupOrder")]
pub server_group_order: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterMigrationMigrationOrderOverrideMigrationOrderOverrideStrategy {
ByServerGroup,
ByServerClass,
ByNode,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterMonitoring {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prometheus: Option<CouchbaseClusterMonitoringPrometheus>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterMonitoringPrometheus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authorizationSecret")]
pub authorization_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "refreshRate")]
pub refresh_rate: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CouchbaseClusterMonitoringPrometheusResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterMonitoringPrometheusResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CouchbaseClusterMonitoringPrometheusResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterMonitoringPrometheusResourcesClaims {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworking {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "addressFamily")]
pub address_family: Option<CouchbaseClusterNetworkingAddressFamily>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "adminConsoleServiceTemplate")]
pub admin_console_service_template: Option<CouchbaseClusterNetworkingAdminConsoleServiceTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "adminConsoleServiceType")]
pub admin_console_service_type: Option<CouchbaseClusterNetworkingAdminConsoleServiceType>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "adminConsoleServices")]
pub admin_console_services: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cloudNativeGateway")]
pub cloud_native_gateway: Option<CouchbaseClusterNetworkingCloudNativeGateway>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableUIOverHTTP")]
pub disable_ui_over_http: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableUIOverHTTPS")]
pub disable_ui_over_https: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns: Option<CouchbaseClusterNetworkingDns>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exposeAdminConsole")]
pub expose_admin_console: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exposedFeatureServiceTemplate")]
pub exposed_feature_service_template: Option<CouchbaseClusterNetworkingExposedFeatureServiceTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exposedFeatureServiceType")]
pub exposed_feature_service_type: Option<CouchbaseClusterNetworkingExposedFeatureServiceType>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exposedFeatureTrafficPolicy")]
pub exposed_feature_traffic_policy: Option<CouchbaseClusterNetworkingExposedFeatureTrafficPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exposedFeatures")]
pub exposed_features: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerSourceRanges")]
pub load_balancer_source_ranges: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "networkPlatform")]
pub network_platform: Option<CouchbaseClusterNetworkingNetworkPlatform>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")]
pub service_annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<CouchbaseClusterNetworkingTls>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "waitForAddressReachable")]
pub wait_for_address_reachable: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "waitForAddressReachableDelay")]
pub wait_for_address_reachable_delay: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingAddressFamily {
IPv4,
IPv6,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingAdminConsoleServiceTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<CouchbaseClusterNetworkingAdminConsoleServiceTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<CouchbaseClusterNetworkingAdminConsoleServiceTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingAdminConsoleServiceTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingAdminConsoleServiceTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocateLoadBalancerNodePorts")]
pub allocate_load_balancer_node_ports: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIP")]
pub cluster_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIPs")]
pub cluster_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalIPs")]
pub external_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalName")]
pub external_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalTrafficPolicy")]
pub external_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "healthCheckNodePort")]
pub health_check_node_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "internalTrafficPolicy")]
pub internal_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilies")]
pub ip_families: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilyPolicy")]
pub ip_family_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerClass")]
pub load_balancer_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerIP")]
pub load_balancer_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerSourceRanges")]
pub load_balancer_source_ranges: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinity")]
pub session_affinity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinityConfig")]
pub session_affinity_config: Option<CouchbaseClusterNetworkingAdminConsoleServiceTemplateSpecSessionAffinityConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingAdminConsoleServiceTemplateSpecSessionAffinityConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientIP")]
pub client_ip: Option<CouchbaseClusterNetworkingAdminConsoleServiceTemplateSpecSessionAffinityConfigClientIp>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingAdminConsoleServiceTemplateSpecSessionAffinityConfigClientIp {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingAdminConsoleServiceType {
NodePort,
LoadBalancer,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct CouchbaseClusterNetworkingCloudNativeGateway {
pub image: String,
#[serde(rename = "logLevel")]
pub log_level: CouchbaseClusterNetworkingCloudNativeGatewayLogLevel,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<CouchbaseClusterNetworkingCloudNativeGatewayTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingCloudNativeGatewayLogLevel {
#[serde(rename = "fatal")]
Fatal,
#[serde(rename = "panic")]
Panic,
#[serde(rename = "dpanic")]
Dpanic,
#[serde(rename = "error")]
Error,
#[serde(rename = "warn")]
Warn,
#[serde(rename = "info")]
Info,
#[serde(rename = "debug")]
Debug,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingCloudNativeGatewayTls {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverSecretName")]
pub server_secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingDns {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingExposedFeatureServiceTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<CouchbaseClusterNetworkingExposedFeatureServiceTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<CouchbaseClusterNetworkingExposedFeatureServiceTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingExposedFeatureServiceTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingExposedFeatureServiceTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocateLoadBalancerNodePorts")]
pub allocate_load_balancer_node_ports: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIP")]
pub cluster_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIPs")]
pub cluster_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalIPs")]
pub external_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalName")]
pub external_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalTrafficPolicy")]
pub external_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "healthCheckNodePort")]
pub health_check_node_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "internalTrafficPolicy")]
pub internal_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilies")]
pub ip_families: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilyPolicy")]
pub ip_family_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerClass")]
pub load_balancer_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerIP")]
pub load_balancer_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerSourceRanges")]
pub load_balancer_source_ranges: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinity")]
pub session_affinity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinityConfig")]
pub session_affinity_config: Option<CouchbaseClusterNetworkingExposedFeatureServiceTemplateSpecSessionAffinityConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingExposedFeatureServiceTemplateSpecSessionAffinityConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientIP")]
pub client_ip: Option<CouchbaseClusterNetworkingExposedFeatureServiceTemplateSpecSessionAffinityConfigClientIp>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingExposedFeatureServiceTemplateSpecSessionAffinityConfigClientIp {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingExposedFeatureServiceType {
NodePort,
LoadBalancer,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingExposedFeatureTrafficPolicy {
Cluster,
Local,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingNetworkPlatform {
Istio,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingTls {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPlainTextCertReload")]
pub allow_plain_text_cert_reload: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cipherSuites")]
pub cipher_suites: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCertificatePaths")]
pub client_certificate_paths: Option<Vec<CouchbaseClusterNetworkingTlsClientCertificatePaths>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCertificatePolicy")]
pub client_certificate_policy: Option<CouchbaseClusterNetworkingTlsClientCertificatePolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeToNodeEncryption")]
pub node_to_node_encryption: Option<CouchbaseClusterNetworkingTlsNodeToNodeEncryption>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub passphrase: Option<CouchbaseClusterNetworkingTlsPassphrase>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rootCAs")]
pub root_c_as: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretSource")]
pub secret_source: Option<CouchbaseClusterNetworkingTlsSecretSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "static")]
pub r#static: Option<CouchbaseClusterNetworkingTlsStatic>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsMinimumVersion")]
pub tls_minimum_version: Option<CouchbaseClusterNetworkingTlsTlsMinimumVersion>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingTlsClientCertificatePaths {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delimiter: Option<String>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingTlsClientCertificatePolicy {
#[serde(rename = "enable")]
Enable,
#[serde(rename = "mandatory")]
Mandatory,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingTlsNodeToNodeEncryption {
ControlPlaneOnly,
All,
Strict,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingTlsPassphrase {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rest: Option<CouchbaseClusterNetworkingTlsPassphraseRest>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub script: Option<CouchbaseClusterNetworkingTlsPassphraseScript>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingTlsPassphraseRest {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "addressFamily")]
pub address_family: Option<CouchbaseClusterNetworkingTlsPassphraseRestAddressFamily>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "verifyPeer")]
pub verify_peer: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingTlsPassphraseRestAddressFamily {
#[serde(rename = "inet")]
Inet,
#[serde(rename = "inet6")]
Inet6,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingTlsPassphraseScript {
pub secret: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingTlsSecretSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientSecretName")]
pub client_secret_name: Option<String>,
#[serde(rename = "serverSecretName")]
pub server_secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterNetworkingTlsStatic {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "operatorSecret")]
pub operator_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverSecret")]
pub server_secret: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterNetworkingTlsTlsMinimumVersion {
#[serde(rename = "TLS1.0")]
Tls10,
#[serde(rename = "TLS1.1")]
Tls11,
#[serde(rename = "TLS1.2")]
Tls12,
#[serde(rename = "TLS1.3")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterPlatform {
#[serde(rename = "aws")]
Aws,
#[serde(rename = "gce")]
Gce,
#[serde(rename = "azure")]
Azure,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterRecoveryPolicy {
PrioritizeDataIntegrity,
PrioritizeUptime,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterRollingUpgrade {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUpgradable")]
pub max_upgradable: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUpgradablePercent")]
pub max_upgradable_percent: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurity {
#[serde(rename = "adminSecret")]
pub admin_secret: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap: Option<CouchbaseClusterSecurityLdap>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSecurityContext")]
pub pod_security_context: Option<CouchbaseClusterSecurityPodSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rbac: Option<CouchbaseClusterSecurityRbac>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<CouchbaseClusterSecuritySecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uiSessionTimeout")]
pub ui_session_timeout: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityLdap {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authenticationEnabled")]
pub authentication_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authorizationEnabled")]
pub authorization_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bindDN")]
pub bind_dn: Option<String>,
#[serde(rename = "bindSecret")]
pub bind_secret: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cacert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cacheValueLifetime")]
pub cache_value_lifetime: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encryption: Option<CouchbaseClusterSecurityLdapEncryption>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "groupsQuery")]
pub groups_query: Option<String>,
pub hosts: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "middleboxCompMode")]
pub middlebox_comp_mode: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nestedGroupsEnabled")]
pub nested_groups_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nestedGroupsMaxDepth")]
pub nested_groups_max_depth: Option<i64>,
pub port: i64,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverCertValidation")]
pub server_cert_validation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsSecret")]
pub tls_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "userDNMapping")]
pub user_dn_mapping: Option<CouchbaseClusterSecurityLdapUserDnMapping>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterSecurityLdapEncryption {
None,
#[serde(rename = "StartTLSExtension")]
StartTlsExtension,
#[serde(rename = "TLS")]
Tls,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityLdapUserDnMapping {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub query: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityPodSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")]
pub fs_group_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<CouchbaseClusterSecurityPodSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CouchbaseClusterSecurityPodSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<CouchbaseClusterSecurityPodSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CouchbaseClusterSecurityPodSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityPodSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityPodSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityPodSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityPodSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityRbac {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub managed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CouchbaseClusterSecurityRbacSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityRbacSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterSecurityRbacSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityRbacSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecuritySecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CouchbaseClusterSecuritySecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<CouchbaseClusterSecuritySecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CouchbaseClusterSecuritySecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CouchbaseClusterSecuritySecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecuritySecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecuritySecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecuritySecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecuritySecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")]
pub fs_group_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<CouchbaseClusterSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CouchbaseClusterSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<CouchbaseClusterSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CouchbaseClusterSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServers {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoscaleEnabled")]
pub autoscale_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CouchbaseClusterServersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<CouchbaseClusterServersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pod: Option<CouchbaseClusterServersPod>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CouchbaseClusterServersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverGroups")]
pub server_groups: Option<Vec<String>>,
pub services: Vec<String>,
pub size: i64,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<CouchbaseClusterServersVolumeMounts>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CouchbaseClusterServersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CouchbaseClusterServersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CouchbaseClusterServersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CouchbaseClusterServersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CouchbaseClusterServersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<CouchbaseClusterServersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<CouchbaseClusterServersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPod {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<CouchbaseClusterServersPodMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<CouchbaseClusterServersPodSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeDeadlineSeconds")]
pub active_deadline_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<CouchbaseClusterServersPodSpecAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "automountServiceAccountToken")]
pub automount_service_account_token: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsConfig")]
pub dns_config: Option<CouchbaseClusterServersPodSpecDnsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsPolicy")]
pub dns_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableServiceLinks")]
pub enable_service_links: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIPC")]
pub host_ipc: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostNetwork")]
pub host_network: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPID")]
pub host_pid: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostUsers")]
pub host_users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<CouchbaseClusterServersPodSpecImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeName")]
pub node_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub os: Option<CouchbaseClusterServersPodSpecOs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub overhead: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preemptionPolicy")]
pub preemption_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")]
pub priority_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaims")]
pub resource_claims: Option<Vec<CouchbaseClusterServersPodSpecResourceClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeClassName")]
pub runtime_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")]
pub scheduler_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingGates")]
pub scheduling_gates: Option<Vec<CouchbaseClusterServersPodSpecSchedulingGates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "setHostnameAsFQDN")]
pub set_hostname_as_fqdn: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "shareProcessNamespace")]
pub share_process_namespace: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CouchbaseClusterServersPodSpecTolerations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")]
pub topology_spread_constraints: Option<Vec<CouchbaseClusterServersPodSpecTopologySpreadConstraints>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<CouchbaseClusterServersPodSpecAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<CouchbaseClusterServersPodSpecAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<CouchbaseClusterServersPodSpecAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecDnsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nameservers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<CouchbaseClusterServersPodSpecDnsConfigOptions>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub searches: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecDnsConfigOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecOs {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecResourceClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<CouchbaseClusterServersPodSpecResourceClaimsSource>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecResourceClaimsSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimName")]
pub resource_claim_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimTemplateName")]
pub resource_claim_template_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecSchedulingGates {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecTopologySpreadConstraints {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CouchbaseClusterServersPodSpecTopologySpreadConstraintsLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(rename = "maxSkew")]
pub max_skew: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minDomains")]
pub min_domains: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinityPolicy")]
pub node_affinity_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeTaintsPolicy")]
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)]
pub struct CouchbaseClusterServersPodSpecTopologySpreadConstraintsLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterServersPodSpecTopologySpreadConstraintsLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersPodSpecTopologySpreadConstraintsLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CouchbaseClusterServersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersResourcesClaims {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterServersVolumeMounts {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub analytics: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logs: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterUpgradeProcess {
SwapRebalance,
DeltaRecovery,
InPlaceUpgrade,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CouchbaseClusterUpgradeStrategy {
RollingUpgrade,
ImmediateUpgrade,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplates {
pub metadata: CouchbaseClusterVolumeClaimTemplatesMetadata,
pub spec: CouchbaseClusterVolumeClaimTemplatesSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplatesMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplatesSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<CouchbaseClusterVolumeClaimTemplatesSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CouchbaseClusterVolumeClaimTemplatesSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CouchbaseClusterVolumeClaimTemplatesSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplatesSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplatesSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CouchbaseClusterVolumeClaimTemplatesSpecResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplatesSpecResourcesClaims {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplatesSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterVolumeClaimTemplatesSpecSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterVolumeClaimTemplatesSpecSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterXdcr {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub managed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteClusters")]
pub remote_clusters: Option<Vec<CouchbaseClusterXdcrRemoteClusters>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterXdcrRemoteClusters {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authenticationSecret")]
pub authentication_secret: Option<String>,
pub hostname: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replications: Option<CouchbaseClusterXdcrRemoteClustersReplications>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<CouchbaseClusterXdcrRemoteClustersTls>,
pub uuid: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterXdcrRemoteClustersReplications {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CouchbaseClusterXdcrRemoteClustersReplicationsSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterXdcrRemoteClustersReplicationsSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CouchbaseClusterXdcrRemoteClustersReplicationsSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterXdcrRemoteClustersReplicationsSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterXdcrRemoteClustersTls {
pub secret: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allocations: Option<Vec<CouchbaseClusterStatusAllocations>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub autoscalers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub buckets: Option<Vec<CouchbaseClusterStatusBuckets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterId")]
pub cluster_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "controlPaused")]
pub control_paused: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "currentVersion")]
pub current_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub groups: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateTime")]
pub last_update_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub members: Option<CouchbaseClusterStatusMembers>,
pub size: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterStatusAllocations {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocatedMemory")]
pub allocated_memory: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocatedMemoryPercent")]
pub allocated_memory_percent: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "analyticsServiceAllocation")]
pub analytics_service_allocation: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataServiceAllocation")]
pub data_service_allocation: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventingServiceAllocation")]
pub eventing_service_allocation: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "indexServiceAllocation")]
pub index_service_allocation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requestedMemory")]
pub requested_memory: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "searchServiceAllocation")]
pub search_service_allocation: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "unusedMemory")]
pub unused_memory: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "unusedMemoryPercent")]
pub unused_memory_percent: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterStatusBuckets {
#[serde(rename = "compressionMode")]
pub compression_mode: String,
#[serde(rename = "conflictResolution")]
pub conflict_resolution: String,
#[serde(rename = "enableFlush")]
pub enable_flush: bool,
#[serde(rename = "enableIndexReplica")]
pub enable_index_replica: bool,
#[serde(rename = "evictionPolicy")]
pub eviction_policy: String,
#[serde(rename = "ioPriority")]
pub io_priority: String,
#[serde(rename = "memoryQuota")]
pub memory_quota: i64,
pub name: String,
pub password: String,
pub replicas: i64,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageBackend")]
pub storage_backend: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseClusterStatusMembers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ready: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unready: Option<Vec<String>>,
}