#[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;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "hazelcast.com", version = "v1alpha1", kind = "Map", plural = "maps")]
#[kube(namespaced)]
#[kube(status = "MapStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct MapSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "asyncBackupCount")]
pub async_backup_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<Vec<MapAttributes>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backupCount")]
pub backup_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "entryListeners")]
pub entry_listeners: Option<Vec<MapEntryListeners>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventJournal")]
pub event_journal: Option<MapEventJournal>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eviction: Option<MapEviction>,
#[serde(rename = "hazelcastResourceName")]
pub hazelcast_resource_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "inMemoryFormat")]
pub in_memory_format: Option<MapInMemoryFormat>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub indexes: Option<Vec<MapIndexes>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mapStore")]
pub map_store: Option<MapMapStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxIdleSeconds")]
pub max_idle_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "merkleTree")]
pub merkle_tree: Option<MapMerkleTree>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nearCache")]
pub near_cache: Option<MapNearCache>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistenceEnabled")]
pub persistence_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tieredStore")]
pub tiered_store: Option<MapTieredStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeToLiveSeconds")]
pub time_to_live_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "userCodeNamespace")]
pub user_code_namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapAttributes {
#[serde(rename = "extractorClassName")]
pub extractor_class_name: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapEntryListeners {
#[serde(rename = "className")]
pub class_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeValues")]
pub include_values: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub local: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapEventJournal {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeToLiveSeconds")]
pub time_to_live_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapEviction {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "evictionPolicy")]
pub eviction_policy: Option<MapEvictionEvictionPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSize")]
pub max_size: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSizePolicy")]
pub max_size_policy: Option<MapEvictionMaxSizePolicy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapEvictionEvictionPolicy {
#[serde(rename = "NONE")]
None,
#[serde(rename = "LRU")]
Lru,
#[serde(rename = "LFU")]
Lfu,
#[serde(rename = "RANDOM")]
Random,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapEvictionMaxSizePolicy {
#[serde(rename = "PER_NODE")]
PerNode,
#[serde(rename = "PER_PARTITION")]
PerPartition,
#[serde(rename = "USED_HEAP_SIZE")]
UsedHeapSize,
#[serde(rename = "USED_HEAP_PERCENTAGE")]
UsedHeapPercentage,
#[serde(rename = "FREE_HEAP_SIZE")]
FreeHeapSize,
#[serde(rename = "FREE_HEAP_PERCENTAGE")]
FreeHeapPercentage,
#[serde(rename = "USED_NATIVE_MEMORY_SIZE")]
UsedNativeMemorySize,
#[serde(rename = "USED_NATIVE_MEMORY_PERCENTAGE")]
UsedNativeMemoryPercentage,
#[serde(rename = "FREE_NATIVE_MEMORY_SIZE")]
FreeNativeMemorySize,
#[serde(rename = "FREE_NATIVE_MEMORY_PERCENTAGE")]
FreeNativeMemoryPercentage,
#[serde(rename = "ENTRY_COUNT")]
EntryCount,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapInMemoryFormat {
#[serde(rename = "BINARY")]
Binary,
#[serde(rename = "OBJECT")]
Object,
#[serde(rename = "NATIVE")]
Native,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct MapIndexes {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bitMapIndexOptions")]
pub bit_map_index_options: Option<MapIndexesBitMapIndexOptions>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
pub r#type: MapIndexesType,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct MapIndexesBitMapIndexOptions {
#[serde(rename = "uniqueKey")]
pub unique_key: String,
#[serde(rename = "uniqueKeyTransition")]
pub unique_key_transition: MapIndexesBitMapIndexOptionsUniqueKeyTransition,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapIndexesBitMapIndexOptionsUniqueKeyTransition {
#[serde(rename = "OBJECT")]
Object,
#[serde(rename = "LONG")]
Long,
#[serde(rename = "RAW")]
Raw,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapIndexesType {
#[serde(rename = "SORTED")]
Sorted,
#[serde(rename = "HASH")]
Hash,
#[serde(rename = "BITMAP")]
Bitmap,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapMapStore {
#[serde(rename = "className")]
pub class_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialMode")]
pub initial_mode: Option<MapMapStoreInitialMode>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "propertiesSecretName")]
pub properties_secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "writeBatchSize")]
pub write_batch_size: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "writeCoalescing")]
pub write_coalescing: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "writeDelaySeconds")]
pub write_delay_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapMapStoreInitialMode {
#[serde(rename = "LAZY")]
Lazy,
#[serde(rename = "EAGER")]
Eager,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapMerkleTree {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub depth: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapNearCache {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cacheLocalEntries")]
pub cache_local_entries: Option<bool>,
pub eviction: MapNearCacheEviction,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "inMemoryFormat")]
pub in_memory_format: Option<MapNearCacheInMemoryFormat>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "invalidateOnChange")]
pub invalidate_on_change: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxIdleSeconds")]
pub max_idle_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeToLiveSeconds")]
pub time_to_live_seconds: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapNearCacheEviction {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "evictionPolicy")]
pub eviction_policy: Option<MapNearCacheEvictionEvictionPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSizePolicy")]
pub max_size_policy: Option<MapNearCacheEvictionMaxSizePolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapNearCacheEvictionEvictionPolicy {
#[serde(rename = "NONE")]
None,
#[serde(rename = "LRU")]
Lru,
#[serde(rename = "LFU")]
Lfu,
#[serde(rename = "RANDOM")]
Random,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapNearCacheEvictionMaxSizePolicy {
#[serde(rename = "PER_NODE")]
PerNode,
#[serde(rename = "PER_PARTITION")]
PerPartition,
#[serde(rename = "USED_HEAP_SIZE")]
UsedHeapSize,
#[serde(rename = "USED_HEAP_PERCENTAGE")]
UsedHeapPercentage,
#[serde(rename = "FREE_HEAP_SIZE")]
FreeHeapSize,
#[serde(rename = "FREE_HEAP_PERCENTAGE")]
FreeHeapPercentage,
#[serde(rename = "USED_NATIVE_MEMORY_SIZE")]
UsedNativeMemorySize,
#[serde(rename = "USED_NATIVE_MEMORY_PERCENTAGE")]
UsedNativeMemoryPercentage,
#[serde(rename = "FREE_NATIVE_MEMORY_SIZE")]
FreeNativeMemorySize,
#[serde(rename = "FREE_NATIVE_MEMORY_PERCENTAGE")]
FreeNativeMemoryPercentage,
#[serde(rename = "ENTRY_COUNT")]
EntryCount,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapNearCacheInMemoryFormat {
#[serde(rename = "BINARY")]
Binary,
#[serde(rename = "OBJECT")]
Object,
#[serde(rename = "NATIVE")]
Native,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapTieredStore {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "diskDeviceName")]
pub disk_device_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryCapacity")]
pub memory_capacity: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct MapStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memberStatuses")]
pub member_statuses: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<MapStatusState>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MapStatusState {
Success,
Failed,
Pending,
Persisting,
Terminating,
}