v1alpha1

package
v0.0.0-...-c55d01b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=hazelcast.com

Index

Constants

View Source
const (
	InitialRamPerArg = "-XX:InitialRAMPercentage"
	MaxRamPerArg     = "-XX:MaxRAMPercentage"
	MinRamPerArg     = "-XX:MinRAMPercentage"
	GCLoggingArg     = "-verbose:gc"
	SerialGCArg      = "-XX:+UseSerialGC"
	ParallelGCArg    = "-XX:+UseParallelGC"
	G1GCArg          = "-XX:+UseG1GC"
)
View Source
const (
	ConsistencyCheckStrategyMerkleTrees = "MERKLE_TREES"
)

+kubebuilder:validation:Enum=MerkleTrees

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "hazelcast.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func FNV32a

func FNV32a(txt string) uint32

func GetKind

func GetKind(obj client.Object) string

func NewCacheValidator

func NewCacheValidator(o client.Object) cacheValidator

func NewDatastructValidator

func NewDatastructValidator(o client.Object) datastructValidator

func NewFieldValidator

func NewFieldValidator(o client.Object) fieldValidator

func NewHotBackupValidator

func NewHotBackupValidator(o client.Object) hotbackupValidator

func NewJetJobSnapshotValidator

func NewJetJobSnapshotValidator(o client.Object) jetJobSnapshotValidator

func NewJetJobValidator

func NewJetJobValidator(o client.Object) jetjobValidator

func NewManagementCenterValidator

func NewManagementCenterValidator(o client.Object) managementCenterValidator

func NewMapValidator

func NewMapValidator(o client.Object) mapValidator

func NewMultiMapValidator

func NewMultiMapValidator(o client.Object) multimapValidator

func NewQueueValidator

func NewQueueValidator(o client.Object) queueValidator

func NewReplicatedMapValidator

func NewReplicatedMapValidator(o client.Object) replicatedmapValidator

func NewTopicValidator

func NewTopicValidator(o client.Object) topicValidator

func NewWanReplicationValidator

func NewWanReplicationValidator(o client.Object) wanreplicationValidator

func NewWanSyncValidator

func NewWanSyncValidator(o client.Object) wansyncValidator

func Path

func Path(n string, m ...string) *field.Path

func ValidateCacheSpecCurrent

func ValidateCacheSpecCurrent(c *Cache, h *Hazelcast) error

func ValidateExistingJobName

func ValidateExistingJobName(jj *JetJob, jjList *JetJobList) error

func ValidateHazelcastLicenseKey

func ValidateHazelcastLicenseKey(h *Hazelcast) error

func ValidateHazelcastSpec

func ValidateHazelcastSpec(h *Hazelcast) error

func ValidateHotBackupIsNotReferencedByHazelcast

func ValidateHotBackupIsNotReferencedByHazelcast(hb *HotBackup) error

func ValidateHotBackupPersistence

func ValidateHotBackupPersistence(hb *HotBackup, h *Hazelcast) error

func ValidateJetConfiguration

func ValidateJetConfiguration(h *Hazelcast) error

func ValidateJetJobCreateSpec

func ValidateJetJobCreateSpec(jj *JetJob) error

func ValidateJetJobSnapshotSpecUpdate

func ValidateJetJobSnapshotSpecUpdate(jjs *JetJobSnapshot, _ *JetJobSnapshot) error

func ValidateJetJobUpdateSpec

func ValidateJetJobUpdateSpec(jj *JetJob) error

func ValidateJetJobUpdateStateSpec

func ValidateJetJobUpdateStateSpec(jj *JetJob, oldJj *JetJob) error

func ValidateManagementCenterSpec

func ValidateManagementCenterSpec(mc *ManagementCenter) error

func ValidateMapSpec

func ValidateMapSpec(m *Map, h *Hazelcast) error

func ValidateMapSpecCreate

func ValidateMapSpecCreate(m *Map) error

func ValidateMapSpecUpdate

func ValidateMapSpecUpdate(m *Map) error

func ValidateWanReplicationSpec

func ValidateWanReplicationSpec(w *WanReplication) error

func ValidateWanSyncSpec

func ValidateWanSyncSpec(w *WanSync) error

Types

type AcknowledgementSetting

type AcknowledgementSetting struct {
	// Type represents how a batch of replication events is considered successfully replicated.
	// +kubebuilder:default:=ACK_ON_OPERATION_COMPLETE
	// +optional
	Type AcknowledgementType `json:"type,omitempty"`

	// Timeout represents the time in milliseconds the source cluster waits for the acknowledgement.
	// After timeout, the events will be resent.
	// +kubebuilder:default:=60000
	// +optional
	Timeout int32 `json:"timeout,omitempty"`
}

func (*AcknowledgementSetting) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcknowledgementSetting.

func (*AcknowledgementSetting) DeepCopyInto

func (in *AcknowledgementSetting) DeepCopyInto(out *AcknowledgementSetting)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AcknowledgementType

type AcknowledgementType string

+kubebuilder:validation:Enum=ACK_ON_OPERATION_COMPLETE;ACK_ON_RECEIPT

const (
	// Replication event is considered successful as soon as it is received by target cluster.
	AckOnReceipt AcknowledgementType = "ACK_ON_RECEIPT"

	// Replication event is considered successful when it is received and applied by the target cluster.
	AckOnOperationComplete AcknowledgementType = "ACK_ON_OPERATION_COMPLETE"
)

type AdvancedNetwork

type AdvancedNetwork struct {
	// +optional
	MemberServerSocketEndpointConfig ServerSocketEndpointConfig `json:"memberServerSocketEndpointConfig,omitempty"`

	// +optional
	ClientServerSocketEndpointConfig ServerSocketEndpointConfig `json:"clientServerSocketEndpointConfig,omitempty"`

	// +optional
	WAN []WANConfig `json:"wan,omitempty"`
}

func (*AdvancedNetwork) DeepCopy

func (in *AdvancedNetwork) DeepCopy() *AdvancedNetwork

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetwork.

func (*AdvancedNetwork) DeepCopyInto

func (in *AdvancedNetwork) DeepCopyInto(out *AdvancedNetwork)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentConfiguration

type AgentConfiguration struct {
	// Repository to pull Hazelcast Platform Operator Agent(https://github.com/hazelcast/platform-operator-agent)
	// +kubebuilder:default:="docker.io/hazelcast/platform-operator-agent"
	// +optional
	Repository string `json:"repository,omitempty"`

	// Version of Hazelcast Platform Operator Agent.
	// +kubebuilder:default:="0.1.26"
	// +optional
	Version string `json:"version,omitempty"`

	// Compute Resources required by the Agent container.
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*AgentConfiguration) DeepCopy

func (in *AgentConfiguration) DeepCopy() *AgentConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentConfiguration.

func (*AgentConfiguration) DeepCopyInto

func (in *AgentConfiguration) DeepCopyInto(out *AgentConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AttributeConfig

type AttributeConfig struct {
	// Name of the attribute https://docs.hazelcast.com/hazelcast/latest/query/predicate-overview#creating-custom-query-attributes
	// +required
	Name string `json:"name"`

	// Name of the extractor class https://docs.hazelcast.com/hazelcast/latest/query/predicate-overview#implementing-a-valueextractor
	// +required
	ExtractorClassName string `json:"extractorClassName"`
}

func (*AttributeConfig) DeepCopy

func (in *AttributeConfig) DeepCopy() *AttributeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttributeConfig.

func (*AttributeConfig) DeepCopyInto

func (in *AttributeConfig) DeepCopyInto(out *AttributeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BatchSetting

type BatchSetting struct {
	// Size represents the maximum batch size.
	// +kubebuilder:default:=500
	// +optional
	Size int32 `json:"size,omitempty"`

	// MaximumDelay represents the maximum delay in milliseconds.
	// If the batch size is not reached, the events will be sent after
	// the maximum delay.
	// +kubebuilder:default:=1000
	// +optional
	MaximumDelay int32 `json:"maximumDelay,omitempty"`
}

func (*BatchSetting) DeepCopy

func (in *BatchSetting) DeepCopy() *BatchSetting

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BatchSetting.

func (*BatchSetting) DeepCopyInto

func (in *BatchSetting) DeepCopyInto(out *BatchSetting)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BitmapIndexOptionsConfig

type BitmapIndexOptionsConfig struct {
	// +required
	UniqueKey string `json:"uniqueKey"`

	// +required
	UniqueKeyTransition UniqueKeyTransition `json:"uniqueKeyTransition"`
}

func (*BitmapIndexOptionsConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BitmapIndexOptionsConfig.

func (*BitmapIndexOptionsConfig) DeepCopyInto

func (in *BitmapIndexOptionsConfig) DeepCopyInto(out *BitmapIndexOptionsConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketConfiguration

type BucketConfiguration struct {
	// secret is a deprecated alias for secretName.
	// +optional
	DeprecatedSecret string `json:"secret"`

	// Name of the secret with credentials for cloud providers.
	// +optional
	SecretName string `json:"secretName"`

	// URL of the bucket to download HotBackup folders.
	// AWS S3, GCP Bucket and Azure Blob storage buckets are supported.
	// Example bucket URIs:
	// - AWS S3     -> s3://bucket-name/path/to/folder
	// - GCP Bucket -> gs://bucket-name/path/to/folder
	// - Azure Blob -> azblob://bucket-name/path/to/folder
	// +kubebuilder:validation:MinLength:=6
	// +required
	BucketURI string `json:"bucketURI"`
}

func (*BucketConfiguration) DeepCopy

func (in *BucketConfiguration) DeepCopy() *BucketConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketConfiguration.

func (*BucketConfiguration) DeepCopyInto

func (in *BucketConfiguration) DeepCopyInto(out *BucketConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BucketConfiguration) GetSecretName

func (b *BucketConfiguration) GetSecretName() string

type ByteOrder

type ByteOrder string

+kubebuilder:validation:Enum=Native;BigEndian;LittleEndian

const (
	// NativeByteOrder uses the native byte order of the underlying platform.
	NativeByteOrder ByteOrder = "Native"

	// BigEndian uses the big-endian byte order.
	BigEndian ByteOrder = "BigEndian"

	// LittleEndian uses the kittle-endian byte order.
	LittleEndian ByteOrder = "LittleEndian"
)

type CPSubsystem

type CPSubsystem struct {
	// SessionTTLSeconds is the duration for a CP session to be kept alive after the last received heartbeat.
	// Must be greater than or equal to SessionHeartbeatIntervalSeconds and smaller than or equal to MissingCpMemberAutoRemovalSeconds.
	// +optional
	SessionTTLSeconds *int32 `json:"sessionTTLSeconds,omitempty"`

	// SessionHeartbeatIntervalSeconds Interval in seconds for the periodically committed CP session heartbeats.
	// Must be smaller than SessionTTLSeconds.
	// +optional
	SessionHeartbeatIntervalSeconds *int32 `json:"sessionHeartbeatIntervalSeconds,omitempty"`

	// MissingCpMemberAutoRemovalSeconds is the duration in seconds to wait before automatically removing a missing CP member from the CP Subsystem.
	MissingCpMemberAutoRemovalSeconds *int32 `json:"missingCpMemberAutoRemovalSeconds,omitempty"`

	// FailOnIndeterminateOperationState indicated whether CP Subsystem operations use at-least-once and at-most-once execution guarantees.
	// +optional
	FailOnIndeterminateOperationState *bool `json:"failOnIndeterminateOperationState,omitempty"`

	// DataLoadTimeoutSeconds is the timeout duration in seconds for CP members to restore their persisted data from disk
	// +kubebuilder:validation:Minimum:=1
	// +optional
	DataLoadTimeoutSeconds *int32 `json:"dataLoadTimeoutSeconds,omitempty"`

	// PVC is the configuration of PersistenceVolumeClaim.
	// +optional
	PVC *PvcConfiguration `json:"pvc,omitempty"`
}

CPSubsystem contains the configuration of a component of a Hazelcast that builds a strongly consistent layer for a set of distributed data structures

func (*CPSubsystem) DeepCopy

func (in *CPSubsystem) DeepCopy() *CPSubsystem

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPSubsystem.

func (*CPSubsystem) DeepCopyInto

func (in *CPSubsystem) DeepCopyInto(out *CPSubsystem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CPSubsystem) IsEnabled

func (p *CPSubsystem) IsEnabled() bool

func (*CPSubsystem) IsPVC

func (p *CPSubsystem) IsPVC() bool

type CRLister

type CRLister interface {
	GetItems() []client.Object
}

+k8s:deepcopy-gen=false

type Cache

type Cache struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec CacheSpec `json:"spec"`
	// +optional
	Status CacheStatus `json:"status,omitempty"`
}

Cache is the Schema for the caches API

func (*Cache) DeepCopy

func (in *Cache) DeepCopy() *Cache

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cache.

func (*Cache) DeepCopyInto

func (in *Cache) DeepCopyInto(out *Cache)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Cache) DeepCopyObject

func (in *Cache) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Cache) GetDSName

func (c *Cache) GetDSName() string

func (*Cache) GetHZResourceName

func (c *Cache) GetHZResourceName() string

func (*Cache) GetKind

func (c *Cache) GetKind() string

func (*Cache) GetSpec

func (c *Cache) GetSpec() (string, error)

func (*Cache) GetStatus

func (c *Cache) GetStatus() *DataStructureStatus

func (*Cache) SetSpec

func (c *Cache) SetSpec(spec string) error

func (*Cache) SetupWebhookWithManager

func (r *Cache) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Cache) ValidateCreate

func (c *Cache) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Cache) ValidateDelete

func (c *Cache) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Cache) ValidateSpecCreate

func (c *Cache) ValidateSpecCreate() error

func (*Cache) ValidateSpecCurrent

func (c *Cache) ValidateSpecCurrent(h *Hazelcast) error

func (*Cache) ValidateSpecUpdate

func (c *Cache) ValidateSpecUpdate() error

func (*Cache) ValidateUpdate

func (c *Cache) ValidateUpdate(runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type CacheList

type CacheList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Cache `json:"items"`
}

CacheList contains a list of Cache

func (*CacheList) DeepCopy

func (in *CacheList) DeepCopy() *CacheList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheList.

func (*CacheList) DeepCopyInto

func (in *CacheList) DeepCopyInto(out *CacheList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CacheList) DeepCopyObject

func (in *CacheList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CacheList) GetItems

func (cl *CacheList) GetItems() []client.Object

type CacheSpec

type CacheSpec struct {
	DataStructureSpec `json:",inline"`

	// Class name of the key type
	// +optional
	KeyType string `json:"keyType,omitempty"`

	// Class name of the value type
	// +optional
	ValueType string `json:"valueType,omitempty"`

	// When enabled, cache data will be persisted.
	// +kubebuilder:default:=false
	// +optional
	PersistenceEnabled bool `json:"persistenceEnabled"`

	// InMemoryFormat specifies in which format data will be stored in your cache
	// +kubebuilder:default:=BINARY
	// +optional
	InMemoryFormat InMemoryFormatType `json:"inMemoryFormat,omitempty"`

	// EventJournal specifies event journal configuration of the Cache
	// +optional
	EventJournal *EventJournal `json:"eventJournal,omitempty"`
}

CacheSpec defines the desired state of Cache It cannot be updated after the Cache is created

func (*CacheSpec) DeepCopy

func (in *CacheSpec) DeepCopy() *CacheSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheSpec.

func (*CacheSpec) DeepCopyInto

func (in *CacheSpec) DeepCopyInto(out *CacheSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CacheStatus

type CacheStatus struct {
	DataStructureStatus `json:",inline"`
}

CacheStatus defines the observed state of Cache

func (*CacheStatus) DeepCopy

func (in *CacheStatus) DeepCopy() *CacheStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheStatus.

func (*CacheStatus) DeepCopyInto

func (in *CacheStatus) DeepCopyInto(out *CacheStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityPolicyType

type CapacityPolicyType string

CapacityPolicyType represents the active policy types for the capacity setting +kubebuilder:validation:Enum=PER_NODE;PER_PARTITION

const (
	// CapacityPolicyPerNode is the policy for limiting the maximum number of tasks in each Hazelcast instance
	CapacityPolicyPerNode CapacityPolicyType = "PER_NODE"

	// CapacityPolicyPerPartition is the policy for limiting the maximum number of tasks within each partition.
	CapacityPolicyPerPartition CapacityPolicyType = "PER_PARTITION"
)

type CollectionType

type CollectionType string

CollectionType represents the value collection options for storing the data in the multiMap. +kubebuilder:validation:Enum=SET;LIST

const (
	CollectionTypeSet CollectionType = "SET"

	CollectionTypeList CollectionType = "LIST"
)

type CompactSerializationConfig

type CompactSerializationConfig struct {

	// Serializers is the list of explicit serializers to be registered.
	// +optional
	Serializers []string `json:"serializers,omitempty"`

	// Classes is the list of class names for which a zero-config serializer will be registered, without implementing an explicit serializer.
	// +optional
	Classes []string `json:"classes,omitempty"`
}

CompactSerializationConfig is the configuration for the Hazelcast Compact serialization. +kubebuilder:validation:MinProperties:=1

func (*CompactSerializationConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompactSerializationConfig.

func (*CompactSerializationConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CronHotBackup

type CronHotBackup struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec CronHotBackupSpec `json:"spec"`
	// +optional
	Status CronHotBackupStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=chb CronHotBackup is the Schema for the cronhotbackups API +kubebuilder:printcolumn:name="SUSPENDED",type="boolean",JSONPath=".spec.suspend",description="Suspention status of the CronHotBackup" +kubebuilder:printcolumn:name="Hazelcast-Resource",type="string",priority=1,JSONPath=".spec.hotBackupTemplate.spec.hazelcastResourceName",description="Name of the Hazelcast resource that this resource is created for"

func (*CronHotBackup) DeepCopy

func (in *CronHotBackup) DeepCopy() *CronHotBackup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronHotBackup.

func (*CronHotBackup) DeepCopyInto

func (in *CronHotBackup) DeepCopyInto(out *CronHotBackup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CronHotBackup) DeepCopyObject

func (in *CronHotBackup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CronHotBackup) SetupWebhookWithManager

func (r *CronHotBackup) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*CronHotBackup) ValidateCreate

func (r *CronHotBackup) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*CronHotBackup) ValidateDelete

func (r *CronHotBackup) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*CronHotBackup) ValidateUpdate

func (r *CronHotBackup) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type CronHotBackupList

type CronHotBackupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CronHotBackup `json:"items"`
}

CronHotBackupList contains a list of CronHotBackup

func (*CronHotBackupList) DeepCopy

func (in *CronHotBackupList) DeepCopy() *CronHotBackupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronHotBackupList.

func (*CronHotBackupList) DeepCopyInto

func (in *CronHotBackupList) DeepCopyInto(out *CronHotBackupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CronHotBackupList) DeepCopyObject

func (in *CronHotBackupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CronHotBackupList) GetItems

func (chbl *CronHotBackupList) GetItems() []client.Object

type CronHotBackupSpec

type CronHotBackupSpec struct {
	// Schedule contains a crontab-like expression that defines the schedule in which HotBackup will be started.
	// If the Schedule is empty the HotBackup will start only once when applied.
	// ---
	// Several pre-defined schedules in place of a cron expression can be used.
	//	Entry                  | Description                                | Equivalent To
	//	-----                  | -----------                                | -------------
	//	@yearly (or @annually) | Run once a year, midnight, Jan. 1st        | 0 0 1 1 *
	//	@monthly               | Run once a month, midnight, first of month | 0 0 1 * *
	//	@weekly                | Run once a week, midnight between Sat/Sun  | 0 0 * * 0
	//	@daily (or @midnight)  | Run once a day, midnight                   | 0 0 * * *
	//	@hourly                | Run once an hour, beginning of hour        | 0 * * * *
	// +kubebuilder:validation:MinLength:=1
	// +required
	Schedule string `json:"schedule"`

	// Specifies the hot backup that will be created when executing a CronHotBackup.
	// +required
	HotBackupTemplate HotBackupTemplateSpec `json:"hotBackupTemplate"`

	// The number of successful finished hot backups to retain.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=5
	// +optional
	SuccessfulHotBackupsHistoryLimit *int32 `json:"successfulHotBackupsHistoryLimit,omitempty"`

	// The number of failed finished hot backups to retain.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=3
	// +optional
	FailedHotBackupsHistoryLimit *int32 `json:"failedHotBackupsHistoryLimit,omitempty"`

	// When true, CronHotBackup will stop creating HotBackup CRs until it is disabled
	// +kubebuilder:default:=false
	// +optional
	Suspend bool `json:"suspend"`
}

CronHotBackupSpec defines the desired state of CronHotBackup

func (*CronHotBackupSpec) DeepCopy

func (in *CronHotBackupSpec) DeepCopy() *CronHotBackupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronHotBackupSpec.

func (*CronHotBackupSpec) DeepCopyInto

func (in *CronHotBackupSpec) DeepCopyInto(out *CronHotBackupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CronHotBackupStatus

type CronHotBackupStatus struct{}

CronHotBackupStatus defines the observed state of CronHotBackup

func (*CronHotBackupStatus) DeepCopy

func (in *CronHotBackupStatus) DeepCopy() *CronHotBackupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronHotBackupStatus.

func (*CronHotBackupStatus) DeepCopyInto

func (in *CronHotBackupStatus) DeepCopyInto(out *CronHotBackupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataRecoveryPolicyType

type DataRecoveryPolicyType string

DataRecoveryPolicyType represents the options for data recovery policy when the whole cluster restarts. +kubebuilder:validation:Enum=FullRecoveryOnly;PartialRecoveryMostRecent;PartialRecoveryMostComplete

const (
	// FullRecovery does not allow partial start of the cluster
	// and corresponds to "cluster-data-recovery-policy.FULL_RECOVERY_ONLY" configuration option.
	FullRecovery DataRecoveryPolicyType = "FullRecoveryOnly"

	// MostRecent allow partial start with the members that have most up-to-date partition table
	// and corresponds to "cluster-data-recovery-policy.PARTIAL_RECOVERY_MOST_RECENT" configuration option.
	MostRecent DataRecoveryPolicyType = "PartialRecoveryMostRecent"

	// MostComplete allow partial start with the members that have most complete partition table
	// and corresponds to "cluster-data-recovery-policy.PARTIAL_RECOVERY_MOST_COMPLETE" configuration option.
	MostComplete DataRecoveryPolicyType = "PartialRecoveryMostComplete"
)

type DataStructure

type DataStructure interface {
	GetDSName() string
	GetHZResourceName() string
	GetStatus() *DataStructureStatus
	GetSpec() (string, error)
	SetSpec(string) error
	ValidateSpecCurrent(h *Hazelcast) error
	ValidateSpecUpdate() error
}

+k8s:deepcopy-gen=false

type DataStructureConfigState

type DataStructureConfigState string

+kubebuilder:validation:Enum=Success;Failed;Pending;Persisting;Terminating

const (
	// Data structure is not successfully applied.
	DataStructureFailed DataStructureConfigState = "Failed"
	// Data structure configuration is applied successfully.
	DataStructureSuccess DataStructureConfigState = "Success"
	// Data structure configuration is being applied
	DataStructurePending DataStructureConfigState = "Pending"
	// The config is added into all members but waiting for the config to be persisted into ConfigMap
	DataStructurePersisting DataStructureConfigState = "Persisting"
	// Data structure is marked to be deleted,
	DataStructureTerminating DataStructureConfigState = "Terminating"
)

type DataStructureSpec

type DataStructureSpec struct {
	// Name of the data structure config to be created. If empty, CR name will be used.
	// It cannot be updated after the config is created successfully.
	// +optional
	Name string `json:"name,omitempty"`

	// HazelcastResourceName defines the name of the Hazelcast resource that this resource is
	// created for.
	// +kubebuilder:validation:MinLength:=1
	// +required
	HazelcastResourceName string `json:"hazelcastResourceName"`

	// Number of synchronous backups.
	// +kubebuilder:validation:Minimum:=0
	// +kubebuilder:validation:Maximum:=6
	// +kubebuilder:default:=1
	// +optional
	BackupCount *int32 `json:"backupCount,omitempty"`

	// Number of asynchronous backups.
	// +kubebuilder:validation:Minimum:=0
	// +kubebuilder:validation:Maximum:=6
	// +kubebuilder:default:=0
	// +optional
	AsyncBackupCount int32 `json:"asyncBackupCount"`
}

func (*DataStructureSpec) DeepCopy

func (in *DataStructureSpec) DeepCopy() *DataStructureSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataStructureSpec.

func (*DataStructureSpec) DeepCopyInto

func (in *DataStructureSpec) DeepCopyInto(out *DataStructureSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataStructureStatus

type DataStructureStatus struct {
	// State of the data structure
	// +optional
	State DataStructureConfigState `json:"state,omitempty"`
	// Message explaining the current state
	// +optional
	Message string `json:"message,omitempty"`
	// Holds status of data structure for each Hazelcast member
	// +optional
	MemberStatuses map[string]DataStructureConfigState `json:"memberStatuses,omitempty"`
}

func (*DataStructureStatus) DeepCopy

func (in *DataStructureStatus) DeepCopy() *DataStructureStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataStructureStatus.

func (*DataStructureStatus) DeepCopyInto

func (in *DataStructureStatus) DeepCopyInto(out *DataStructureStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DurableExecutorServiceConfiguration

type DurableExecutorServiceConfiguration struct {
	// The name of the executor service
	// +kubebuilder:default:="default"
	// +optional
	Name string `json:"name,omitempty"`

	// The number of executor threads per member.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=16
	// +optional
	PoolSize int32 `json:"poolSize,omitempty"`

	// Durability of the executor.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=1
	// +optional
	Durability int32 `json:"durability,omitempty"`

	// Capacity of the executor task per partition.
	// +kubebuilder:default:=100
	// +optional
	Capacity int32 `json:"capacity,omitempty"`
}

func (*DurableExecutorServiceConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DurableExecutorServiceConfiguration.

func (*DurableExecutorServiceConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EntryListenerConfiguration

type EntryListenerConfiguration struct {
	// ClassName is the fully qualified name of the class that implements any of the Listener interface.
	// +kubebuilder:validation:MinLength:=1
	// +required
	ClassName string `json:"className"`

	// IncludeValues is an optional attribute that indicates whether the event will contain the map value.
	// Defaults to true.
	// +kubebuilder:default:=true
	// +optional
	IncludeValues *bool `json:"includeValues,omitempty"`

	// Local is an optional attribute that indicates whether the map on the local member can be listened to.
	// Defaults to false.
	// +kubebuilder:default:=false
	// +optional
	Local bool `json:"local"`
}

func (*EntryListenerConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryListenerConfiguration.

func (*EntryListenerConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EntryListenerConfiguration) GetIncludedValue

func (e *EntryListenerConfiguration) GetIncludedValue() bool

type EventJournal

type EventJournal struct {
	// Capacity sets the capacity of the ringbuffer underlying the event journal.
	// +kubebuilder:default:=10000
	Capacity int32 `json:"capacity,omitempty"`
	// TimeToLiveSeconds indicates how long the items remain in the event journal before they are expired.
	// +kubebuilder:default:=0
	TimeToLiveSeconds int32 `json:"timeToLiveSeconds,omitempty"`
}

func (*EventJournal) DeepCopy

func (in *EventJournal) DeepCopy() *EventJournal

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventJournal.

func (*EventJournal) DeepCopyInto

func (in *EventJournal) DeepCopyInto(out *EventJournal)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EvictionConfig

type EvictionConfig struct {
	// Eviction policy to be applied when map reaches its max size according to the max size policy.
	// +kubebuilder:default:="NONE"
	// +optional
	EvictionPolicy EvictionPolicyType `json:"evictionPolicy,omitempty"`

	// Max size of the map.
	// +kubebuilder:default:=0
	// +optional
	MaxSize int32 `json:"maxSize"`

	// Policy for deciding if the maxSize is reached.
	// +kubebuilder:default:="PER_NODE"
	// +optional
	MaxSizePolicy MaxSizePolicyType `json:"maxSizePolicy,omitempty"`
}

func (*EvictionConfig) DeepCopy

func (in *EvictionConfig) DeepCopy() *EvictionConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionConfig.

func (*EvictionConfig) DeepCopyInto

func (in *EvictionConfig) DeepCopyInto(out *EvictionConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EvictionPolicyType

type EvictionPolicyType string

+kubebuilder:validation:Enum=NONE;LRU;LFU;RANDOM

const (
	// Least recently used entries will be removed.
	EvictionPolicyLRU EvictionPolicyType = "LRU"

	// Least frequently used entries will be removed.
	EvictionPolicyLFU EvictionPolicyType = "LFU"

	// No eviction.
	EvictionPolicyNone EvictionPolicyType = "NONE"

	// Randomly selected entries will be removed.
	EvictionPolicyRandom EvictionPolicyType = "RANDOM"
)

type ExecutorServiceConfiguration

type ExecutorServiceConfiguration struct {
	// The name of the executor service
	// +kubebuilder:default:="default"
	// +optional
	Name string `json:"name,omitempty"`

	// The number of executor threads per member.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=8
	// +optional
	PoolSize int32 `json:"poolSize,omitempty"`

	// Task queue capacity of the executor.
	// +kubebuilder:default:=0
	// +optional
	QueueCapacity int32 `json:"queueCapacity"`
}

func (*ExecutorServiceConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutorServiceConfiguration.

func (*ExecutorServiceConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExposeExternallyConfiguration

type ExposeExternallyConfiguration struct {
	// Specifies how members are exposed.
	// Valid values are:
	// - "Smart" (default): each member pod is exposed with a separate external address
	// - "Unisocket": all member pods are exposed with one external address
	// +kubebuilder:default:="Smart"
	// +optional
	Type ExposeExternallyType `json:"type,omitempty"`

	// Type of the service used to discover Hazelcast cluster.
	// +kubebuilder:default:="LoadBalancer"
	// +optional
	DiscoveryServiceType corev1.ServiceType `json:"discoveryServiceType,omitempty"`

	// How each member is accessed from the external client.
	// Only available for "Smart" client and valid values are:
	// - "NodePortExternalIP" (default): each member is accessed by the NodePort service and the node external IP/hostname
	// - "NodePortNodeName": each member is accessed by the NodePort service and the node name
	// - "LoadBalancer": each member is accessed by the LoadBalancer service external address
	// +optional
	MemberAccess MemberAccess `json:"memberAccess,omitempty"`
}

ExposeExternallyConfiguration defines how to expose Hazelcast cluster to external clients

func (*ExposeExternallyConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposeExternallyConfiguration.

func (*ExposeExternallyConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExposeExternallyConfiguration) DiscoveryK8ServiceType

func (c *ExposeExternallyConfiguration) DiscoveryK8ServiceType() corev1.ServiceType

Returns service type that is used for the cluster discovery (LoadBalancer by default).

func (*ExposeExternallyConfiguration) IsEnabled

func (c *ExposeExternallyConfiguration) IsEnabled() bool

Returns true if exposeExternally configuration is specified.

func (*ExposeExternallyConfiguration) IsSmart

func (c *ExposeExternallyConfiguration) IsSmart() bool

Returns true if Smart configuration is specified and therefore each Hazelcast member needs to be exposed with a separate address.

func (*ExposeExternallyConfiguration) MemberAccessServiceType

func (c *ExposeExternallyConfiguration) MemberAccessServiceType() corev1.ServiceType

Returns service type that is used for the communication with each member (NodePort by default).

func (*ExposeExternallyConfiguration) MemberAccessType

func (c *ExposeExternallyConfiguration) MemberAccessType() MemberAccess

Returns the member access type that is used for the communication with each member (NodePortExternalIP by default).

func (*ExposeExternallyConfiguration) UsesNodeName

func (c *ExposeExternallyConfiguration) UsesNodeName() bool

Returns true if Hazelcast client wants to use Node Name instead of External IP.

type ExposeExternallyType

type ExposeExternallyType string

ExposeExternallyType describes how Hazelcast members are exposed. +kubebuilder:validation:Enum=Smart;Unisocket

const (
	// ExposeExternallyTypeSmart exposes each Hazelcast member with a separate external address.
	ExposeExternallyTypeSmart ExposeExternallyType = "Smart"

	// ExposeExternallyTypeUnisocket exposes all Hazelcast members with one external address.
	ExposeExternallyTypeUnisocket ExposeExternallyType = "Unisocket"
)

type ExternalConnectivityConfiguration

type ExternalConnectivityConfiguration struct {
	// How Management Center is exposed.
	// Valid values are:
	// - "ClusterIP"
	// - "NodePort"
	// - "LoadBalancer" (default)
	// +kubebuilder:default:="LoadBalancer"
	// +optional
	Type ExternalConnectivityType `json:"type,omitempty"`

	// Ingress configuration of Management Center
	// +optional
	Ingress *ExternalConnectivityIngress `json:"ingress,omitempty"`

	// OpenShift Route configuration of Management Center
	// +optional
	Route *ExternalConnectivityRoute `json:"route,omitempty"`
}

ExternalConnectivityConfiguration defines how to expose Management Center pod.

func (*ExternalConnectivityConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalConnectivityConfiguration.

func (*ExternalConnectivityConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExternalConnectivityConfiguration) IsEnabled

func (ec *ExternalConnectivityConfiguration) IsEnabled() bool

IsEnabled returns true if external connectivity is enabled.

func (*ExternalConnectivityConfiguration) ManagementCenterServiceType

func (ec *ExternalConnectivityConfiguration) ManagementCenterServiceType() corev1.ServiceType

ManagementCenterServiceType returns service type that is used by Management Center (LoadBalancer by default).

type ExternalConnectivityIngress

type ExternalConnectivityIngress struct {
	// Hostname of Management Center exposed by Ingress.
	// Ingress controller will use this hostname to route inbound traffic.
	// +required
	Hostname string `json:"hostname"`

	// IngressClassName of the ingress object.
	// +optional
	IngressClassName string `json:"ingressClassName,omitempty"`

	// Annotations added to the ingress object.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Path of the ingress rule.
	// +kubebuilder:default:="/"
	// +optional
	Path string `json:"path,omitempty"`
}

ExternalConnectivityIngress defines ingress configuration of Management Center

func (*ExternalConnectivityIngress) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalConnectivityIngress.

func (*ExternalConnectivityIngress) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExternalConnectivityIngress) IsEnabled

func (eci *ExternalConnectivityIngress) IsEnabled() bool

IsEnabled returns true if external connectivity ingress is enabled.

type ExternalConnectivityRoute

type ExternalConnectivityRoute struct {
	// Hostname of Management Center exposed by route.
	// Openshift routers will use this hostname to route inbound traffic.
	Hostname string `json:"hostname"`
}

ExternalConnectivityRoute defines OpenShift route configuration of Management Center

func (*ExternalConnectivityRoute) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalConnectivityRoute.

func (*ExternalConnectivityRoute) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExternalConnectivityRoute) IsEnabled

func (ecr *ExternalConnectivityRoute) IsEnabled() bool

IsEnabled returns true if external connectivity ingress is enabled.

type ExternalConnectivityType

type ExternalConnectivityType string

ExternalConnectivityType describes how Management Center is exposed. +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer

const (
	// ExternalConnectivityTypeClusterIP exposes Management Center with ClusterIP service.
	ExternalConnectivityTypeClusterIP ExternalConnectivityType = "ClusterIP"

	// ExternalConnectivityTypeNodePort exposes Management Center with NodePort service.
	ExternalConnectivityTypeNodePort ExternalConnectivityType = "NodePort"

	// ExternalConnectivityTypeLoadBalancer exposes Management Center with LoadBalancer service.
	ExternalConnectivityTypeLoadBalancer ExternalConnectivityType = "LoadBalancer"
)

type FullBehaviorSetting

type FullBehaviorSetting string

+kubebuilder:validation:Enum=DISCARD_AFTER_MUTATION;THROW_EXCEPTION;THROW_EXCEPTION_ONLY_IF_REPLICATION_ACTIVE

const (
	DiscardAfterMutation FullBehaviorSetting = "DISCARD_AFTER_MUTATION"

	ThrowException FullBehaviorSetting = "THROW_EXCEPTION"

	ThrowExceptionOnlyIfReplicationActive FullBehaviorSetting = "THROW_EXCEPTION_ONLY_IF_REPLICATION_ACTIVE"
)

type GCType

type GCType string

GCType is Garbage Collector type +kubebuilder:validation:Enum=Serial;Parallel;G1

const (
	GCTypeSerial   GCType = "Serial"
	GCTypeParallel GCType = "Parallel"
	GCTypeG1       GCType = "G1"
)

type GlobalSerializer

type GlobalSerializer struct {

	// If set to true, will replace the internal Java serialization.
	// +optional
	OverrideJavaSerialization *bool `json:"overrideJavaSerialization,omitempty"`

	// Class name of the GlobalSerializer.
	// +required
	ClassName string `json:"className"`
}

GlobalSerializer is registered as a fallback serializer to handle all other objects if a serializer cannot be located for them.

func (*GlobalSerializer) DeepCopy

func (in *GlobalSerializer) DeepCopy() *GlobalSerializer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalSerializer.

func (*GlobalSerializer) DeepCopyInto

func (in *GlobalSerializer) DeepCopyInto(out *GlobalSerializer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Hazelcast

type Hazelcast struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Initial values will be filled with its fields' default values.
	// +kubebuilder:default:={"repository" : "docker.io/hazelcast/hazelcast"}
	// +optional
	Spec HazelcastSpec `json:"spec,omitempty"`

	// +optional
	Status HazelcastStatus `json:"status,omitempty"`
}

Hazelcast is the Schema for the hazelcasts API +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.clusterSize,statuspath=.status.clusterSize,selectorpath=.status.selector +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="Current state of the Hazelcast deployment" +kubebuilder:printcolumn:name="Members",type="string",JSONPath=".status.hazelcastClusterStatus.readyMembers",description="Current numbers of ready Hazelcast members" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current Hazelcast Config" +kubebuilder:resource:shortName=hz

func (*Hazelcast) AgentDockerImage

func (h *Hazelcast) AgentDockerImage() string

func (*Hazelcast) ClusterScopedName

func (h *Hazelcast) ClusterScopedName() string

func (*Hazelcast) DeepCopy

func (in *Hazelcast) DeepCopy() *Hazelcast

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hazelcast.

func (*Hazelcast) DeepCopyInto

func (in *Hazelcast) DeepCopyInto(out *Hazelcast)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Hazelcast) DeepCopyObject

func (in *Hazelcast) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Hazelcast) Default

func (r *Hazelcast) Default()

func (*Hazelcast) DockerImage

func (h *Hazelcast) DockerImage() string

func (*Hazelcast) ExternalAddressEnabled

func (h *Hazelcast) ExternalAddressEnabled() bool

func (*Hazelcast) SetupWebhookWithManager

func (r *Hazelcast) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Hazelcast) ValidateCreate

func (r *Hazelcast) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Hazelcast) ValidateDelete

func (r *Hazelcast) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Hazelcast) ValidateUpdate

func (r *Hazelcast) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type HazelcastClusterConfig

type HazelcastClusterConfig struct {
	// Name of the Hazelcast cluster that Management Center will connect to, default is dev.
	// +kubebuilder:default:="dev"
	// +optional
	Name string `json:"name,omitempty"`

	// IP address or DNS name of the Hazelcast cluster.
	// If the cluster is exposed with a service name in a different namespace, use the following syntax "<service-name>.<service-namespace>".
	// +required
	Address string `json:"address"`

	// TLS client configuration.
	// +optional
	TLS *TLS `json:"tls,omitempty"`
}

func (*HazelcastClusterConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastClusterConfig.

func (*HazelcastClusterConfig) DeepCopyInto

func (in *HazelcastClusterConfig) DeepCopyInto(out *HazelcastClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HazelcastClusterStatus

type HazelcastClusterStatus struct {
	// ReadyMembers represents the number of members that are connected to cluster from the desired number of members
	// in the format <ready>/<desired>
	// +optional
	ReadyMembers string `json:"readyMembers,omitempty"`
}

HazelcastClusterStatus defines the status of the Hazelcast cluster

func (*HazelcastClusterStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastClusterStatus.

func (*HazelcastClusterStatus) DeepCopyInto

func (in *HazelcastClusterStatus) DeepCopyInto(out *HazelcastClusterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HazelcastEndpoint

type HazelcastEndpoint struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   HazelcastEndpointSpec   `json:"spec,omitempty"`
	Status HazelcastEndpointStatus `json:"status,omitempty"`
}

HazelcastEndpoint is the Schema for the hazelcastendpoints API +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type",description="Type of the HazelcastEndpoint" +kubebuilder:printcolumn:name="Address",type="string",JSONPath=".status.address",description="Address of the HazelcastEndpoint" +kubebuilder:printcolumn:name="Hazelcast-Resource",type="string",priority=1,JSONPath=".spec.hazelcastResourceName",description="Name of the Hazelcast resource that this resource is created for" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current HazelcastEndpoint" +kubebuilder:resource:shortName=hzep

func (*HazelcastEndpoint) DeepCopy

func (in *HazelcastEndpoint) DeepCopy() *HazelcastEndpoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastEndpoint.

func (*HazelcastEndpoint) DeepCopyInto

func (in *HazelcastEndpoint) DeepCopyInto(out *HazelcastEndpoint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HazelcastEndpoint) DeepCopyObject

func (in *HazelcastEndpoint) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HazelcastEndpoint) SetAddress

func (hzEndpoint *HazelcastEndpoint) SetAddress(address string)

func (*HazelcastEndpoint) SetupWebhookWithManager

func (r *HazelcastEndpoint) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HazelcastEndpoint) ValidateCreate

func (r *HazelcastEndpoint) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*HazelcastEndpoint) ValidateDelete

func (r *HazelcastEndpoint) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*HazelcastEndpoint) ValidateUpdate

func (r *HazelcastEndpoint) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type HazelcastEndpointList

type HazelcastEndpointList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HazelcastEndpoint `json:"items"`
}

HazelcastEndpointList contains a list of HazelcastEndpoint

func (*HazelcastEndpointList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastEndpointList.

func (*HazelcastEndpointList) DeepCopyInto

func (in *HazelcastEndpointList) DeepCopyInto(out *HazelcastEndpointList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HazelcastEndpointList) DeepCopyObject

func (in *HazelcastEndpointList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HazelcastEndpointSpec

type HazelcastEndpointSpec struct {
	// Type defines the endpoint connection. It is used to identify the target of the endpoint.
	// +required
	Type HazelcastEndpointType `json:"type"`

	// Port of the endpoint.
	// +required
	Port int32 `json:"port"`

	// HazelcastResourceName defines the name of the Hazelcast resource that this resource is
	// created for.
	// +kubebuilder:validation:MinLength:=1
	// +required
	HazelcastResourceName string `json:"hazelcastResourceName"`
}

HazelcastEndpointSpec defines the desired state of HazelcastEndpoint

func (*HazelcastEndpointSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastEndpointSpec.

func (*HazelcastEndpointSpec) DeepCopyInto

func (in *HazelcastEndpointSpec) DeepCopyInto(out *HazelcastEndpointSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HazelcastEndpointStatus

type HazelcastEndpointStatus struct {
	// Address is the external address of the endpoint. It is taken from the corresponding service.
	// +optional
	Address string `json:"address,omitempty"`
}

HazelcastEndpointStatus defines the observed state of HazelcastEndpoint

func (*HazelcastEndpointStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastEndpointStatus.

func (*HazelcastEndpointStatus) DeepCopyInto

func (in *HazelcastEndpointStatus) DeepCopyInto(out *HazelcastEndpointStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HazelcastEndpointType

type HazelcastEndpointType string

+kubebuilder:validation:Enum=Discovery;Member;WAN;

const (
	HazelcastEndpointTypeDiscovery HazelcastEndpointType = "Discovery"
	HazelcastEndpointTypeMember    HazelcastEndpointType = "Member"
	HazelcastEndpointTypeWAN       HazelcastEndpointType = "WAN"
)

type HazelcastList

type HazelcastList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Hazelcast `json:"items"`
}

HazelcastList contains a list of Hazelcast

func (*HazelcastList) DeepCopy

func (in *HazelcastList) DeepCopy() *HazelcastList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastList.

func (*HazelcastList) DeepCopyInto

func (in *HazelcastList) DeepCopyInto(out *HazelcastList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HazelcastList) DeepCopyObject

func (in *HazelcastList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HazelcastMemberStatus

type HazelcastMemberStatus struct {
	// PodName is the name of the Hazelcast member pod.
	// +optional
	PodName string `json:"podName,omitempty"`

	// Uid is the unique member identifier within the cluster.
	// +optional
	Uid string `json:"uid,omitempty"`

	// Ip is the IP address of the member within the cluster.
	// +optional
	Ip string `json:"ip,omitempty"`

	// Version represents the Hazelcast version of the member.
	// +optional
	Version string `json:"version,omitempty"`

	// State represents the observed state of the member.
	// +optional
	State NodeState `json:"state,omitempty"`

	// Master flag is set to true if the member is master.
	// +optional
	Master bool `json:"master,omitempty"`

	// Lite is the flag that is true when the member is lite-member.
	// +optional
	Lite bool `json:"lite,omitempty"`

	// OwnedPartitions represents the partitions count on the member.
	// +optional
	OwnedPartitions int32 `json:"ownedPartitions,omitempty"`

	// Ready is the flag that is set to true when the member is successfully started,
	// connected to cluster and ready to accept connections.
	// +optional
	Ready bool `json:"connected"`

	// Message contains the optional message with the details of the cluster state.
	// +optional
	Message string `json:"message,omitempty"`

	// Reason contains the optional reason of member crash or restart.
	// +optional
	Reason string `json:"reason,omitempty"`

	// RestartCount is the number of times the member has been restarted.
	// +optional
	RestartCount int32 `json:"restartCount"`
}

HazelcastMemberStatus defines the observed state of the individual Hazelcast member.

func (*HazelcastMemberStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastMemberStatus.

func (*HazelcastMemberStatus) DeepCopyInto

func (in *HazelcastMemberStatus) DeepCopyInto(out *HazelcastMemberStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HazelcastPersistenceConfiguration

type HazelcastPersistenceConfiguration struct {
	// BaseDir is deprecated. Use restore.localConfig to restore from a local backup.
	// +optional
	DeprecatedBaseDir string `json:"baseDir"`

	// Configuration of the cluster recovery strategy.
	// +kubebuilder:default:="FullRecoveryOnly"
	// +optional
	ClusterDataRecoveryPolicy DataRecoveryPolicyType `json:"clusterDataRecoveryPolicy,omitempty"`

	// StartupAction represents the action triggered when the cluster starts to force the cluster startup.
	// +optional
	StartupAction PersistenceStartupAction `json:"startupAction,omitempty"`

	// DataRecoveryTimeout is timeout for each step of data recovery in seconds.
	// Maximum timeout is equal to DataRecoveryTimeout*2 (for each step: validation and data-load).
	// +optional
	DataRecoveryTimeout int32 `json:"dataRecoveryTimeout,omitempty"`

	// Configuration of PersistenceVolumeClaim.
	// +required
	PVC *PvcConfiguration `json:"pvc,omitempty"`

	// Restore configuration
	// +kubebuilder:default:={}
	// +optional
	Restore RestoreConfiguration `json:"restore,omitempty"`
}

HazelcastPersistenceConfiguration contains the configuration for Hazelcast Persistence and K8s storage.

func (*HazelcastPersistenceConfiguration) AutoRemoveStaleData

func (p *HazelcastPersistenceConfiguration) AutoRemoveStaleData() bool

Returns true if ClusterDataRecoveryPolicy is not FullRecoveryOnly

func (*HazelcastPersistenceConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastPersistenceConfiguration.

func (*HazelcastPersistenceConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HazelcastPersistenceConfiguration) IsEnabled

func (p *HazelcastPersistenceConfiguration) IsEnabled() bool

IsEnabled Returns true if Persistence configuration is specified.

func (*HazelcastPersistenceConfiguration) IsRestoreEnabled

func (p *HazelcastPersistenceConfiguration) IsRestoreEnabled() bool

IsRestoreEnabled returns true if Restore configuration is specified

func (*HazelcastPersistenceConfiguration) RestoreFromHotBackupResourceName

func (p *HazelcastPersistenceConfiguration) RestoreFromHotBackupResourceName() bool

RestoreFromHotBackupResourceName returns true if Restore is done from a HotBackup resource

func (*HazelcastPersistenceConfiguration) RestoreFromLocalBackup

func (p *HazelcastPersistenceConfiguration) RestoreFromLocalBackup() bool

RestoreFromLocalBackup returns true if Restore is done from local backup

type HazelcastSpec

type HazelcastSpec struct {
	// Number of Hazelcast members in the cluster.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=3
	// +optional
	ClusterSize *int32 `json:"clusterSize,omitempty"`

	// Repository to pull the Hazelcast Platform image from.
	// +kubebuilder:default:="docker.io/hazelcast/hazelcast"
	// +optional
	Repository string `json:"repository,omitempty"`

	// Version of Hazelcast Platform.
	// +kubebuilder:default:="5.4.0"
	// +optional
	Version string `json:"version,omitempty"`

	// Pull policy for the Hazelcast Platform image
	// +kubebuilder:default:="IfNotPresent"
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Image pull secrets for the Hazelcast Platform image
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// licenseKeySecret is a deprecated alias for licenseKeySecretName.
	// +optional
	DeprecatedLicenseKeySecret string `json:"licenseKeySecret,omitempty"`

	// Name of the secret with Hazelcast Enterprise License Key.
	// +optional
	LicenseKeySecretName string `json:"licenseKeySecretName,omitempty"`

	// Configuration to expose Hazelcast cluster to external clients.
	// +optional
	ExposeExternally *ExposeExternallyConfiguration `json:"exposeExternally,omitempty"`

	// Name of the Hazelcast cluster.
	// +kubebuilder:default:="dev"
	// +optional
	ClusterName string `json:"clusterName,omitempty"`

	// Scheduling details
	// +optional
	Scheduling *SchedulingConfiguration `json:"scheduling,omitempty"`

	// Compute Resources required by the Hazelcast container.
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Persistence configuration
	//+optional
	Persistence *HazelcastPersistenceConfiguration `json:"persistence,omitempty"`

	// B&R Agent configurations
	// +kubebuilder:default:={repository: "docker.io/hazelcast/platform-operator-agent", version: "0.1.26"}
	Agent AgentConfiguration `json:"agent,omitempty"`

	// Jet Engine configuration
	// +kubebuilder:default:={enabled: true, resourceUploadEnabled: false}
	// +optional
	JetEngineConfiguration *JetEngineConfiguration `json:"jet,omitempty"`

	// User Codes to Download into CLASSPATH
	// +optional
	UserCodeDeployment *UserCodeDeploymentConfig `json:"userCodeDeployment,omitempty"`

	// Java Executor Service configurations, see https://docs.hazelcast.com/hazelcast/latest/computing/executor-service
	// +optional
	ExecutorServices []ExecutorServiceConfiguration `json:"executorServices,omitempty"`

	// Durable Executor Service configurations, see https://docs.hazelcast.com/hazelcast/latest/computing/durable-executor-service
	// +optional
	DurableExecutorServices []DurableExecutorServiceConfiguration `json:"durableExecutorServices,omitempty"`

	// Scheduled Executor Service configurations, see https://docs.hazelcast.com/hazelcast/latest/computing/scheduled-executor-service
	// +optional
	ScheduledExecutorServices []ScheduledExecutorServiceConfiguration `json:"scheduledExecutorServices,omitempty"`

	// Hazelcast system properties, see https://docs.hazelcast.com/hazelcast/latest/system-properties
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// Logging level for Hazelcast members
	// +kubebuilder:default:="INFO"
	// +optional
	LoggingLevel LoggingLevel `json:"loggingLevel,omitempty"`

	// Configuration to create clusters resilient to node and zone failures
	// +optional
	HighAvailabilityMode HighAvailabilityMode `json:"highAvailabilityMode,omitempty"`

	// Hazelcast JVM configuration
	// +optional
	JVM *JVMConfiguration `json:"jvm,omitempty"`

	// Hazelcast Native Memory (HD Memory) configuration
	// +optional
	NativeMemory *NativeMemoryConfiguration `json:"nativeMemory,omitempty"`

	// Hazelcast Advanced Network configuration
	// +optional
	AdvancedNetwork *AdvancedNetwork `json:"advancedNetwork,omitempty"`

	// Hazelcast Management Center Configuration
	// +optional
	ManagementCenterConfig *ManagementCenterConfig `json:"managementCenter,omitempty"`

	// Hazelcast TLS configuration
	// +optional
	TLS *TLS `json:"tls,omitempty"`

	// Hazelcast serialization configuration
	// +optional
	Serialization *SerializationConfig `json:"serialization,omitempty"`

	// Name of the ConfigMap with the Hazelcast custom configuration.
	// This configuration from the ConfigMap might be overridden by the Hazelcast CR configuration.
	// +optional
	CustomConfigCmName string `json:"customConfigCmName,omitempty"`

	// Hazelcast SQL configuration
	// +optional
	SQL *SQL `json:"sql,omitempty"`

	// Hazelcast LocalDevice configuration
	// +optional
	LocalDevices []LocalDeviceConfig `json:"localDevices,omitempty"`

	// Hazelcast Kubernetes resource annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Hazelcast Kubernetes resource labels
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// ServiceAccountName is the name of the ServiceAccount to use to run Hazelcast cluster.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// CPSubsystem is the configuration of the Hazelcast CP Subsystem.
	// +optional
	CPSubsystem *CPSubsystem `json:"cpSubsystem,omitempty"`
}

HazelcastSpec defines the desired state of Hazelcast

func (*HazelcastSpec) DeepCopy

func (in *HazelcastSpec) DeepCopy() *HazelcastSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastSpec.

func (*HazelcastSpec) DeepCopyInto

func (in *HazelcastSpec) DeepCopyInto(out *HazelcastSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HazelcastSpec) GetLicenseKeySecretName

func (s *HazelcastSpec) GetLicenseKeySecretName() string

func (*HazelcastSpec) IsTieredStorageEnabled

func (hs *HazelcastSpec) IsTieredStorageEnabled() bool

IsTieredStorageEnabled Returns true if LocalDevices configuration is specified.

type HazelcastStatus

type HazelcastStatus struct {
	// Number of Hazelcast members in the cluster.
	// +optional
	ClusterSize int32 `json:"clusterSize"`

	// Selector is a label selector used by HorizontalPodAutoscaler to autoscale Hazelcast resource.
	// +optional
	Selector string `json:"selector"`

	// Phase of the Hazelcast cluster
	// +optional
	Phase Phase `json:"phase,omitempty"`

	// Status of the Hazelcast cluster
	// +optional
	Cluster HazelcastClusterStatus `json:"hazelcastClusterStatus,omitempty"`

	// Message about the Hazelcast cluster state
	// +optional
	Message string `json:"message,omitempty"`

	// Status of Hazelcast members
	// +optional
	Members []HazelcastMemberStatus `json:"members,omitempty"`

	// Status of restore process of the Hazelcast cluster
	// +kubebuilder:default:={}
	// +optional
	Restore RestoreStatus `json:"restore,omitempty"`
}

HazelcastStatus defines the observed state of Hazelcast

func (*HazelcastStatus) DeepCopy

func (in *HazelcastStatus) DeepCopy() *HazelcastStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastStatus.

func (*HazelcastStatus) DeepCopyInto

func (in *HazelcastStatus) DeepCopyInto(out *HazelcastStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HighAvailabilityMode

type HighAvailabilityMode string

+kubebuilder:validation:Enum=NODE;ZONE

const (
	HighAvailabilityNodeMode HighAvailabilityMode = "NODE"

	HighAvailabilityZoneMode HighAvailabilityMode = "ZONE"
)

type HotBackup

type HotBackup struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec HotBackupSpec `json:"spec"`
	// +optional
	Status HotBackupStatus `json:"status,omitempty"`
}

HotBackup is the Schema for the hot backup API +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="Current state of the HotBackup process" +kubebuilder:printcolumn:name="Hazelcast-Resource",type="string",priority=1,JSONPath=".spec.hazelcastResourceName",description="Name of the Hazelcast resource that this resource is created for" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current HotBackup Config" +kubebuilder:resource:shortName=hb

func (*HotBackup) DeepCopy

func (in *HotBackup) DeepCopy() *HotBackup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotBackup.

func (*HotBackup) DeepCopyInto

func (in *HotBackup) DeepCopyInto(out *HotBackup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HotBackup) DeepCopyObject

func (in *HotBackup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HotBackup) SetupWebhookWithManager

func (r *HotBackup) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HotBackup) ValidateCreate

func (r *HotBackup) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*HotBackup) ValidateDelete

func (r *HotBackup) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*HotBackup) ValidateUpdate

func (r *HotBackup) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type HotBackupList

type HotBackupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HotBackup `json:"items"`
}

HotBackupList contains a list of HotBackup

func (*HotBackupList) DeepCopy

func (in *HotBackupList) DeepCopy() *HotBackupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotBackupList.

func (*HotBackupList) DeepCopyInto

func (in *HotBackupList) DeepCopyInto(out *HotBackupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HotBackupList) DeepCopyObject

func (in *HotBackupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HotBackupList) GetItems

func (hbl *HotBackupList) GetItems() []client.Object

type HotBackupSpec

type HotBackupSpec struct {
	// HazelcastResourceName defines the name of the Hazelcast resource
	// +required
	HazelcastResourceName string `json:"hazelcastResourceName"`

	// URL of the bucket to download HotBackup folders.
	// AWS S3, GCP Bucket and Azure Blob storage buckets are supported.
	// Example bucket URIs:
	// - AWS S3     -> s3://bucket-name/path/to/folder
	// - GCP Bucket -> gs://bucket-name/path/to/folder
	// - Azure Blob -> azblob://bucket-name/path/to/folder
	// +optional
	BucketURI string `json:"bucketURI,omitempty"`

	// secret is a deprecated alias for secretName.
	// +optional
	DeprecatedSecret string `json:"secret,omitempty"`

	// Name of the secret with credentials for cloud providers.
	// +optional
	SecretName string `json:"secretName,omitempty"`
}

HotBackupSpec defines the Spec of HotBackup

func (*HotBackupSpec) DeepCopy

func (in *HotBackupSpec) DeepCopy() *HotBackupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotBackupSpec.

func (*HotBackupSpec) DeepCopyInto

func (in *HotBackupSpec) DeepCopyInto(out *HotBackupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HotBackupSpec) GetSecretName

func (hbs *HotBackupSpec) GetSecretName() string

func (*HotBackupSpec) IsExternal

func (hbs *HotBackupSpec) IsExternal() bool

type HotBackupState

type HotBackupState string

+kubebuilder:validation:Enum=Unknown;Pending;NotStarted;InProgress;Failure;Success

const (
	HotBackupUnknown    HotBackupState = "Unknown"
	HotBackupPending    HotBackupState = "Pending"
	HotBackupNotStarted HotBackupState = "NotStarted"
	HotBackupInProgress HotBackupState = "InProgress"
	HotBackupFailure    HotBackupState = "Failure"
	HotBackupSuccess    HotBackupState = "Success"
)

func (HotBackupState) IsFinished

func (s HotBackupState) IsFinished() bool

func (HotBackupState) IsRunning

func (s HotBackupState) IsRunning() bool

IsRunning returns true if the HotBackup is scheduled to run or is running but not yet finished. Returns false if the HotBackup is not yet scheduled to run or finished it execution including the failure state.

type HotBackupStatus

type HotBackupStatus struct {
	// +optional
	State HotBackupState `json:"state,omitempty"`
	// +optional
	Message string `json:"message,omitempty"`
	// +optional
	BackupUUIDs []string `json:"backupUUIDs,omitempty"`
}

HotBackupStatus defines the observed state of HotBackup

func (*HotBackupStatus) DeepCopy

func (in *HotBackupStatus) DeepCopy() *HotBackupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotBackupStatus.

func (*HotBackupStatus) DeepCopyInto

func (in *HotBackupStatus) DeepCopyInto(out *HotBackupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HotBackupStatus) GetBackupFolder

func (hbs *HotBackupStatus) GetBackupFolder() string

func (*HotBackupStatus) GetBucketURI

func (hbs *HotBackupStatus) GetBucketURI() string

type HotBackupTemplateSpec

type HotBackupTemplateSpec struct {
	// Standard object's metadata of the hot backups created from this template.
	// +kubebuilder:validation:XPreserveUnknownFields
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the hot backup.
	// +required
	Spec HotBackupSpec `json:"spec"`
}

func (*HotBackupTemplateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotBackupTemplateSpec.

func (*HotBackupTemplateSpec) DeepCopyInto

func (in *HotBackupTemplateSpec) DeepCopyInto(out *HotBackupTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InMemoryFormatType

type InMemoryFormatType string

InMemoryFormatType represents the format options for storing the data in the map/cache. +kubebuilder:validation:Enum=BINARY;OBJECT;NATIVE

const (
	// InMemoryFormatBinary Data will be stored in serialized binary format.
	InMemoryFormatBinary InMemoryFormatType = "BINARY"

	// InMemoryFormatObject Data will be stored in deserialized form.
	InMemoryFormatObject InMemoryFormatType = "OBJECT"

	// InMemoryFormatNative Data will be stored in the map that uses Hazelcast's High-Density Memory Store feature.
	InMemoryFormatNative InMemoryFormatType = "NATIVE"
)

type IndexConfig

type IndexConfig struct {
	// Name of the index config.
	// +optional
	Name string `json:"name,omitempty"`

	// Type of the index. See https://docs.hazelcast.com/hazelcast/latest/query/indexing-maps#index-types
	// +required
	Type IndexType `json:"type"`

	// Attributes of the index.
	// +optional
	Attributes []string `json:"attributes,omitempty"`

	// Options for "BITMAP" index type. See https://docs.hazelcast.com/hazelcast/latest/query/indexing-maps#configuring-bitmap-indexes
	// +kubebuilder:default:={}
	// +optional
	BitmapIndexOptions *BitmapIndexOptionsConfig `json:"bitMapIndexOptions,omitempty"`
}

func (*IndexConfig) DeepCopy

func (in *IndexConfig) DeepCopy() *IndexConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexConfig.

func (*IndexConfig) DeepCopyInto

func (in *IndexConfig) DeepCopyInto(out *IndexConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IndexType

type IndexType string

+kubebuilder:validation:Enum=SORTED;HASH;BITMAP

const (
	IndexTypeSorted IndexType = "SORTED"
	IndexTypeHash   IndexType = "HASH"
	IndexTypeBitmap IndexType = "BITMAP"
)

type InitialModeType

type InitialModeType string

+kubebuilder:validation:Enum=LAZY;EAGER

const (
	// Loading is asynchronous. It is the default mode.
	InitialModeLazy InitialModeType = "LAZY"
	// Loading is blocked until all partitions are loaded.
	InitialModeEager InitialModeType = "EAGER"
)

type JVMConfiguration

type JVMConfiguration struct {
	// Memory is a JVM memory configuration
	// +optional
	Memory *JVMMemoryConfiguration `json:"memory,omitempty"`

	// GC is for configuring JVM Garbage Collector
	// +optional
	GC *JVMGCConfiguration `json:"gc,omitempty"`

	// Args is for arbitrary JVM arguments
	// +optional
	Args []string `json:"args,omitempty"`
}

JVMConfiguration is a Hazelcast JVM configuration

func (*JVMConfiguration) DeepCopy

func (in *JVMConfiguration) DeepCopy() *JVMConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMConfiguration.

func (*JVMConfiguration) DeepCopyInto

func (in *JVMConfiguration) DeepCopyInto(out *JVMConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JVMConfiguration) GCConfig

func (c *JVMConfiguration) GCConfig() *JVMGCConfiguration

func (*JVMConfiguration) GetArgs

func (c *JVMConfiguration) GetArgs() []string

func (*JVMConfiguration) GetMemory

func (c *JVMConfiguration) GetMemory() *JVMMemoryConfiguration

type JVMGCConfiguration

type JVMGCConfiguration struct {
	// Logging enables logging when set to true
	// +optional
	Logging *bool `json:"logging,omitempty"`

	// Collector is the Garbage Collector type
	// +optional
	Collector *GCType `json:"collector,omitempty"`
}

JVMGCConfiguration is for configuring JVM Garbage Collector

func (*JVMGCConfiguration) DeepCopy

func (in *JVMGCConfiguration) DeepCopy() *JVMGCConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMGCConfiguration.

func (*JVMGCConfiguration) DeepCopyInto

func (in *JVMGCConfiguration) DeepCopyInto(out *JVMGCConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JVMGCConfiguration) GetCollector

func (j *JVMGCConfiguration) GetCollector() GCType

func (*JVMGCConfiguration) IsLoggingEnabled

func (j *JVMGCConfiguration) IsLoggingEnabled() bool

type JVMMemoryConfiguration

type JVMMemoryConfiguration struct {
	// InitialRAMPercentage configures JVM initial heap size
	// +optional
	InitialRAMPercentage *string `json:"initialRAMPercentage,omitempty"`

	// MinRAMPercentage sets the minimum heap size for a JVM
	// +optional
	MinRAMPercentage *string `json:"minRAMPercentage,omitempty"`

	// MaxRAMPercentage sets the maximum heap size for a JVM
	// +optional
	MaxRAMPercentage *string `json:"maxRAMPercentage,omitempty"`
}

JVMMemoryConfiguration is a JVM memory configuration

func (*JVMMemoryConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMMemoryConfiguration.

func (*JVMMemoryConfiguration) DeepCopyInto

func (in *JVMMemoryConfiguration) DeepCopyInto(out *JVMMemoryConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JVMMemoryConfiguration) GetInitialRAMPercentage

func (c *JVMMemoryConfiguration) GetInitialRAMPercentage() string

func (*JVMMemoryConfiguration) GetMaxRAMPercentage

func (c *JVMMemoryConfiguration) GetMaxRAMPercentage() string

func (*JVMMemoryConfiguration) GetMinRAMPercentage

func (c *JVMMemoryConfiguration) GetMinRAMPercentage() string

type JavaSerializationFilter

type JavaSerializationFilter struct {

	// Java deserialization protection Blacklist.
	// +optional
	Blacklist *SerializationFilterList `json:"blacklist,omitempty"`

	// Java deserialization protection Whitelist.
	// +optional
	Whitelist *SerializationFilterList `json:"whitelist,omitempty"`
}

+kubebuilder:validation:MinProperties:=1

func (*JavaSerializationFilter) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JavaSerializationFilter.

func (*JavaSerializationFilter) DeepCopyInto

func (in *JavaSerializationFilter) DeepCopyInto(out *JavaSerializationFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JetEdgeDefaults

type JetEdgeDefaults struct {
	// Sets the capacity of processor-to-processor concurrent queues.
	// +optional
	QueueSize *int32 `json:"queueSize,omitempty"`

	// Limits the size of the packet in bytes.
	// +optional
	PacketSizeLimit *int32 `json:"packetSizeLimit,omitempty"`

	// Sets the scaling factor used by the adaptive receive window sizing function.
	// +optional
	ReceiveWindowMultiplier *int8 `json:"receiveWindowMultiplier,omitempty"`
}

func (*JetEdgeDefaults) DeepCopy

func (in *JetEdgeDefaults) DeepCopy() *JetEdgeDefaults

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetEdgeDefaults.

func (*JetEdgeDefaults) DeepCopyInto

func (in *JetEdgeDefaults) DeepCopyInto(out *JetEdgeDefaults)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetEdgeDefaults) IsConfigured

func (j *JetEdgeDefaults) IsConfigured() bool

Returns true if Jet Instance Edge Defaults is configured.

type JetEngineConfiguration

type JetEngineConfiguration struct {
	// When false, disables Jet Engine.
	// +kubebuilder:default:=true
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// When true, enables resource uploading for Jet jobs.
	// +kubebuilder:default:=false
	// +optional
	ResourceUploadEnabled bool `json:"resourceUploadEnabled"`

	// Configuration for downloading the JAR files be downloaded and accessible for the member.
	// These JAR files will not be placed in the CLASSPATH.
	// +optional
	RemoteFileConfiguration `json:",inline"`

	// Jet Instance Configuration
	// +kubebuilder:default:={}
	// +optional
	Instance *JetInstance `json:"instance,omitempty"`

	// Jet Edge Defaults Configuration
	// +kubebuilder:default:={}
	// +optional
	EdgeDefaults *JetEdgeDefaults `json:"edgeDefaults,omitempty"`
}

func (*JetEngineConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetEngineConfiguration.

func (*JetEngineConfiguration) DeepCopyInto

func (in *JetEngineConfiguration) DeepCopyInto(out *JetEngineConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetEngineConfiguration) IsBucketEnabled

func (j *JetEngineConfiguration) IsBucketEnabled() bool

Returns true if jet.bucketConfiguration is specified.

func (*JetEngineConfiguration) IsConfigMapEnabled

func (j *JetEngineConfiguration) IsConfigMapEnabled() bool

Returns true if jet.configMaps configuration is specified.

func (*JetEngineConfiguration) IsConfigured

func (j *JetEngineConfiguration) IsConfigured() bool

Returns true if Jet section is configured.

func (*JetEngineConfiguration) IsEnabled

func (j *JetEngineConfiguration) IsEnabled() bool

Returns true if jet is enabled.

func (*JetEngineConfiguration) IsRemoteURLsEnabled

func (j *JetEngineConfiguration) IsRemoteURLsEnabled() bool

Returns true if jet.RemoteURLs configuration is specified.

type JetInstance

type JetInstance struct {
	// The number of threads Jet creates in its cooperative multithreading pool.
	// Its default value is the number of cores
	// +kubebuilder:validation:Minimum:=1
	// +optional
	CooperativeThreadCount *int32 `json:"cooperativeThreadCount,omitempty"`

	// The duration of the interval between flow-control packets.
	// +kubebuilder:default:=100
	// +optional
	FlowControlPeriodMillis int32 `json:"flowControlPeriodMillis,omitempty"`

	// The number of synchronous backups to configure on the IMap that Jet needs internally to store job metadata and snapshots.
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Maximum:=6
	// +optional
	BackupCount int32 `json:"backupCount,omitempty"`

	// The delay after which the auto-scaled jobs restart if a new member joins the cluster.
	// +kubebuilder:default:=10000
	// +optional
	ScaleUpDelayMillis int32 `json:"scaleUpDelayMillis,omitempty"`

	// Specifies whether the Lossless Cluster Restart feature is enabled.
	// +kubebuilder:default:=false
	// +optional
	LosslessRestartEnabled bool `json:"losslessRestartEnabled"`

	// Specifies the maximum number of records that can be accumulated by any single processor instance.
	// Default value is Long.MAX_VALUE
	// +optional
	MaxProcessorAccumulatedRecords *int64 `json:"maxProcessorAccumulatedRecords,omitempty"`
}

func (*JetInstance) DeepCopy

func (in *JetInstance) DeepCopy() *JetInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetInstance.

func (*JetInstance) DeepCopyInto

func (in *JetInstance) DeepCopyInto(out *JetInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetInstance) IsConfigured

func (j *JetInstance) IsConfigured() bool

Returns true if Jet Instance section is configured.

type JetJob

type JetJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   JetJobSpec   `json:"spec,omitempty"`
	Status JetJobStatus `json:"status,omitempty"`
}

JetJob is the Schema for the jetjobs API

func (*JetJob) DeepCopy

func (in *JetJob) DeepCopy() *JetJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJob.

func (*JetJob) DeepCopyInto

func (in *JetJob) DeepCopyInto(out *JetJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetJob) DeepCopyObject

func (in *JetJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*JetJob) JobName

func (j *JetJob) JobName() string

func (*JetJob) SetupWebhookWithManager

func (r *JetJob) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*JetJob) ValidateCreate

func (jj *JetJob) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*JetJob) ValidateDelete

func (jj *JetJob) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*JetJob) ValidateUpdate

func (jj *JetJob) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type JetJobList

type JetJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []JetJob `json:"items"`
}

JetJobList contains a list of JetJob

func (*JetJobList) DeepCopy

func (in *JetJobList) DeepCopy() *JetJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJobList.

func (*JetJobList) DeepCopyInto

func (in *JetJobList) DeepCopyInto(out *JetJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetJobList) DeepCopyObject

func (in *JetJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*JetJobList) GetItems

func (jjl *JetJobList) GetItems() []client.Object

type JetJobSnapshot

type JetJobSnapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec JetJobSnapshotSpec `json:"spec"`
	// +kubebuilder:default:={state: "Waiting"}
	// +optional
	Status JetJobSnapshotStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state",description="Current state of the JetJobSnapshot" +kubebuilder:printcolumn:name="CreationTime",type="string",JSONPath=".status.creationTime",description="Time when the JetJobSnapshot was created, if created" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the JetJobSnapshot" +kubebuilder:resource:shortName=jjs JetJobSnapshot is the Schema for the jetjobsnapshots API

func (*JetJobSnapshot) DeepCopy

func (in *JetJobSnapshot) DeepCopy() *JetJobSnapshot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJobSnapshot.

func (*JetJobSnapshot) DeepCopyInto

func (in *JetJobSnapshot) DeepCopyInto(out *JetJobSnapshot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetJobSnapshot) DeepCopyObject

func (in *JetJobSnapshot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*JetJobSnapshot) SetupWebhookWithManager

func (r *JetJobSnapshot) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*JetJobSnapshot) SnapshotName

func (jjs *JetJobSnapshot) SnapshotName() string

func (*JetJobSnapshot) ValidateCreate

func (jjs *JetJobSnapshot) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*JetJobSnapshot) ValidateDelete

func (jjs *JetJobSnapshot) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*JetJobSnapshot) ValidateUpdate

func (jjs *JetJobSnapshot) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type JetJobSnapshotList

type JetJobSnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []JetJobSnapshot `json:"items"`
}

JetJobSnapshotList contains a list of JetJobSnapshot

func (*JetJobSnapshotList) DeepCopy

func (in *JetJobSnapshotList) DeepCopy() *JetJobSnapshotList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJobSnapshotList.

func (*JetJobSnapshotList) DeepCopyInto

func (in *JetJobSnapshotList) DeepCopyInto(out *JetJobSnapshotList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetJobSnapshotList) DeepCopyObject

func (in *JetJobSnapshotList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type JetJobSnapshotSpec

type JetJobSnapshotSpec struct {
	// Name of the exported snapshot
	// +optional
	Name string `json:"name,omitempty"`

	// CancelJob determines whether the job is canceled after exporting snapshot
	// +kubebuilder:default:=false
	// +optional
	CancelJob bool `json:"cancelJob"`

	// JetJobResourceName is the name of the JetJob CR where the Snapshot is exported from
	// +kubebuilder:validation:MinLength:=1
	// +required
	JetJobResourceName string `json:"jetJobResourceName"`
}

JetJobSnapshotSpec defines the desired state of JetJobSnapshot

func (*JetJobSnapshotSpec) DeepCopy

func (in *JetJobSnapshotSpec) DeepCopy() *JetJobSnapshotSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJobSnapshotSpec.

func (*JetJobSnapshotSpec) DeepCopyInto

func (in *JetJobSnapshotSpec) DeepCopyInto(out *JetJobSnapshotSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JetJobSnapshotState

type JetJobSnapshotState string

+kubebuilder:validation:Enum=Waiting;Exporting;Exported;Failed;

const (
	JetJobSnapshotWaiting   JetJobSnapshotState = "Waiting"
	JetJobSnapshotExporting JetJobSnapshotState = "Exporting"
	JetJobSnapshotExported  JetJobSnapshotState = "Exported"
	JetJobSnapshotFailed    JetJobSnapshotState = "Failed"
)

type JetJobSnapshotStatus

type JetJobSnapshotStatus struct {
	// +optional
	State JetJobSnapshotState `json:"state"`

	// +optional
	Message string `json:"message,omitempty"`

	// +optional
	CreationTime *metav1.Time `json:"creationTime,omitempty"`
}

JetJobSnapshotStatus defines the observed state of JetJobSnapshot

func (*JetJobSnapshotStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJobSnapshotStatus.

func (*JetJobSnapshotStatus) DeepCopyInto

func (in *JetJobSnapshotStatus) DeepCopyInto(out *JetJobSnapshotStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JetJobSpec

type JetJobSpec struct {
	// Name of the JetJob to be created. If empty, CR name will be used.
	// It cannot be updated after the config is created successfully.
	// +optional
	Name string `json:"name,omitempty"`

	// HazelcastResourceName defines the name of the Hazelcast resource that this resource is
	// created for.
	// +kubebuilder:validation:MinLength:=1
	// +required
	HazelcastResourceName string `json:"hazelcastResourceName"`

	// State is used to manage the job state.
	// +kubebuilder:default:=Running
	// +kubebuilder:validation:Enum=Running;Suspended;Canceled;Restarted
	// +required
	State JetJobState `json:"state"`

	// JarName specify the name of the Jar to run that is present on the member.
	// +kubebuilder:validation:MinLength:=1
	// +required
	JarName string `json:"jarName"`

	// MainClass is the name of the main class that will be run on the submitted job.
	// +optional
	MainClass string `json:"mainClass,omitempty"`

	// InitialSnapshotResourceName specify the name of the JetJobSnapshot object from which
	// the JetJob is initialized.
	// +optional
	InitialSnapshotResourceName string `json:"initialSnapshotResourceName,omitempty"`

	// Configuration for downloading the file from remote.
	// +optional
	JetRemoteFileConfiguration `json:",inline"`
}

JetJobSpec defines the desired state of JetJob

func (*JetJobSpec) DeepCopy

func (in *JetJobSpec) DeepCopy() *JetJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJobSpec.

func (*JetJobSpec) DeepCopyInto

func (in *JetJobSpec) DeepCopyInto(out *JetJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JetJobSpec) IsBucketEnabled

func (j *JetJobSpec) IsBucketEnabled() bool

Returns true if bucketConfiguration is specified.

func (*JetJobSpec) IsDownloadEnabled

func (j *JetJobSpec) IsDownloadEnabled() bool

Returns true is eigher of bucketConfiguration or remoteURL are enabled

func (*JetJobSpec) IsRemoteURLsEnabled

func (j *JetJobSpec) IsRemoteURLsEnabled() bool

Returns true if remoteURL configuration is specified.

type JetJobState

type JetJobState string
const (
	RunningJobState   JetJobState = "Running"
	SuspendedJobState JetJobState = "Suspended"
	CanceledJobState  JetJobState = "Canceled"
	RestartedJobState JetJobState = "Restarted"
)

type JetJobStatus

type JetJobStatus struct {
	Id    int64             `json:"id"`
	Phase JetJobStatusPhase `json:"phase"`
	// +optional
	SubmissionTime *metav1.Time `json:"submissionTime,omitempty"`
	// +optional
	CompletionTime  *metav1.Time `json:"completionTime,omitempty"`
	FailureText     string       `json:"failureText,omitempty"`
	SuspensionCause string       `json:"suspensionCause,omitempty"`
}

JetJobStatus defines the observed state of JetJob

func (*JetJobStatus) DeepCopy

func (in *JetJobStatus) DeepCopy() *JetJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetJobStatus.

func (*JetJobStatus) DeepCopyInto

func (in *JetJobStatus) DeepCopyInto(out *JetJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JetJobStatusPhase

type JetJobStatusPhase string

+kubebuilder:validation:Enum=Failed;NotRunning;Starting;Running;Suspended;SuspendedExportingSnapshot;Completing;ExecutionFailed;Completed

const (
	JetJobFailed                     JetJobStatusPhase = "Failed"
	JetJobNotRunning                 JetJobStatusPhase = "NotRunning"                 //0
	JetJobStarting                   JetJobStatusPhase = "Starting"                   //1
	JetJobRunning                    JetJobStatusPhase = "Running"                    //2
	JetJobSuspended                  JetJobStatusPhase = "Suspended"                  //3
	JetJobSuspendedExportingSnapshot JetJobStatusPhase = "SuspendedExportingSnapshot" //4
	JetJobCompleting                 JetJobStatusPhase = "Completing"                 //5
	JetJobExecutionFailed            JetJobStatusPhase = "ExecutionFailed"            //6
	JetJobCompleted                  JetJobStatusPhase = "Completed"                  //7
)

func (JetJobStatusPhase) IsFinished

func (jjs JetJobStatusPhase) IsFinished() bool

func (JetJobStatusPhase) IsRunning

func (jjs JetJobStatusPhase) IsRunning() bool

func (JetJobStatusPhase) IsSuspended

func (jjs JetJobStatusPhase) IsSuspended() bool

type JetRemoteFileConfiguration

type JetRemoteFileConfiguration struct {
	// Bucket config from where the JAR files will be downloaded.
	// +optional
	BucketConfiguration *BucketConfiguration `json:"bucketConfig,omitempty"`

	// URL from where the file will be downloaded.
	// +optional
	RemoteURL string `json:"remoteURL,omitempty"`
}

func (*JetRemoteFileConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JetRemoteFileConfiguration.

func (*JetRemoteFileConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LDAPProvider

type LDAPProvider struct {
	// URL of your LDAP server, including schema (ldap://) and port.
	// +required
	URL string `json:"url"`

	// CredentialsSecretName is the name of the secret that contains username and password of a user that has admin privileges on the LDAP server.
	// The username must be the DN of the user. It is used to connect to the server when authenticating users.
	// +required
	CredentialsSecretName string `json:"credentialsSecretName"`

	// DN to be used for searching users.
	// +required
	UserDN string `json:"userDN"`

	// DN to be used for searching groups.
	// +required
	GroupDN string `json:"groupDN"`

	// Members of these groups and its nested groups have admin privileges on the Management Center.
	// +kubebuilder:validation:MinItems:=1
	AdminGroups []string `json:"adminGroups"`

	// Members of these groups and its nested groups have read and write privileges on the Management Center.
	// +kubebuilder:validation:MinItems:=1
	UserGroups []string `json:"userGroups"`

	// Members of these groups and its nested groups have only read privilege on the Management Center.
	// +kubebuilder:validation:MinItems:=1
	ReadonlyUserGroups []string `json:"readonlyUserGroups"`

	// Members of these groups and its nested groups have the privilege to see only the metrics on the Management Center.
	// +kubebuilder:validation:MinItems:=1
	MetricsOnlyGroups []string `json:"metricsOnlyGroups"`

	// LDAP search filter expression to search for the users.
	// For example, uid={0} searches for a username that matches with the uid attribute.
	// +required
	UserSearchFilter string `json:"userSearchFilter"`

	// LDAP search filter expression to search for the groups.
	// For example, uniquemember={0} searches for a group that matches with the uniquemember attribute.
	// +required
	GroupSearchFilter string `json:"groupSearchFilter"`

	// NestedGroupSearch enables searching for nested LDAP groups.
	// +kubebuilder:default:=false
	NestedGroupSearch bool `json:"nestedGroupSearch"`
}

func (*LDAPProvider) DeepCopy

func (in *LDAPProvider) DeepCopy() *LDAPProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPProvider.

func (*LDAPProvider) DeepCopyInto

func (in *LDAPProvider) DeepCopyInto(out *LDAPProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalDeviceConfig

type LocalDeviceConfig struct {
	// Name represents the name of the local device
	// +required
	Name string `json:"name"`

	// BlockSize defines Device block/sector size in bytes.
	// +kubebuilder:validation:Minimum=512
	// +kubebuilder:default:=4096
	// +optional
	BlockSize *int32 `json:"blockSize,omitempty"`

	// ReadIOThreadCount is Read IO thread count.
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:default:=4
	// +optional
	ReadIOThreadCount *int32 `json:"readIOThreadCount,omitempty"`

	// WriteIOThreadCount is Write IO thread count.
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:default:=4
	// +optional
	WriteIOThreadCount *int32 `json:"writeIOThreadCount,omitempty"`

	// Configuration of PersistenceVolumeClaim.
	// +required
	PVC *PvcConfiguration `json:"pvc,omitempty"`
}

func (*LocalDeviceConfig) DeepCopy

func (in *LocalDeviceConfig) DeepCopy() *LocalDeviceConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalDeviceConfig.

func (*LocalDeviceConfig) DeepCopyInto

func (in *LocalDeviceConfig) DeepCopyInto(out *LocalDeviceConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoggingLevel

type LoggingLevel string

LoggingLevel controls log verbosity for Hazelcast. +kubebuilder:validation:Enum=OFF;FATAL;ERROR;WARN;INFO;DEBUG;TRACE;ALL

const (
	LoggingLevelOff   LoggingLevel = "OFF"
	LoggingLevelFatal LoggingLevel = "FATAL"
	LoggingLevelError LoggingLevel = "ERROR"
	LoggingLevelWarn  LoggingLevel = "WARN"
	LoggingLevelInfo  LoggingLevel = "INFO"
	LoggingLevelDebug LoggingLevel = "DEBUG"
	LoggingLevelTrace LoggingLevel = "TRACE"
	LoggingLevelAll   LoggingLevel = "ALL"
)

type MCJVMConfiguration

type MCJVMConfiguration struct {
	// Args is for arbitrary JVM arguments
	// +optional
	Args []string `json:"args,omitempty"`
}

MCJVMConfiguration is a ManagementCenter JVM configuration

func (*MCJVMConfiguration) DeepCopy

func (in *MCJVMConfiguration) DeepCopy() *MCJVMConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCJVMConfiguration.

func (*MCJVMConfiguration) DeepCopyInto

func (in *MCJVMConfiguration) DeepCopyInto(out *MCJVMConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MCJVMConfiguration) IsConfigured

func (c *MCJVMConfiguration) IsConfigured() bool

type MCPersistenceConfiguration

type MCPersistenceConfiguration struct {
	// When true, MC will use a PersistentVolumeClaim to store data.
	// +kubebuilder:default:=true
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Name of the PersistentVolumeClaim MC will use for persistence. If not empty,
	// MC will use the existing claim instead of creating a new one.
	// +optional
	ExistingVolumeClaimName string `json:"existingVolumeClaimName,omitempty"`

	// StorageClass from which PersistentVolumeClaim will be created.
	// +optional
	StorageClass *string `json:"storageClass,omitempty"`

	// Size of the created PersistentVolumeClaim.
	// +kubebuilder:default:="10Gi"
	// +optional
	Size *resource.Quantity `json:"size,omitempty"`
}

func (*MCPersistenceConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPersistenceConfiguration.

func (*MCPersistenceConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MCPersistenceConfiguration) IsEnabled

func (pc *MCPersistenceConfiguration) IsEnabled() bool

IsEnabled returns true if persistence configuration is specified.

type MCPhase

type MCPhase string

MCPhase represents the current state of the cluster +kubebuilder:validation:Enum=Running;Failed;Pending;Configuring;Terminating

const (
	// McRunning phase is the state when the ManagementCenter is successfully started
	McRunning MCPhase = "Running"
	// McFailed phase is the state of error during the ManagementCenter startup
	McFailed MCPhase = "Failed"
	// McConfiguring phase is the state of configuring the ManagementCenter and might be restated
	McConfiguring MCPhase = "Configuring"
	// McPending phase is the state of starting the cluster when the ManagementCenter is not started yet
	McPending MCPhase = "Pending"
	// McTerminating phase is the state where deletion of ManagementCenter and dependent resources happen
	McTerminating MCPhase = "Terminating"
)

type ManagementCenter

type ManagementCenter struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Initial values will be filled with its fields' default values.
	// +kubebuilder:default:={"repository" : "docker.io/hazelcast/management-center"}
	// +optional
	Spec ManagementCenterSpec `json:"spec,omitempty"`

	// +optional
	Status ManagementCenterStatus `json:"status,omitempty"`
}

ManagementCenter is the Schema for the managementcenters API +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="Current state of the Management Center deployment" +kubebuilder:printcolumn:name="External-Addresses",type="string",JSONPath=".status.externalAddresses",description="External addresses of the Management Center deployment" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current ManagementCenter Config" +kubebuilder:resource:shortName=mc

func (*ManagementCenter) DeepCopy

func (in *ManagementCenter) DeepCopy() *ManagementCenter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementCenter.

func (*ManagementCenter) DeepCopyInto

func (in *ManagementCenter) DeepCopyInto(out *ManagementCenter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagementCenter) DeepCopyObject

func (in *ManagementCenter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ManagementCenter) Default

func (r *ManagementCenter) Default()

func (*ManagementCenter) DockerImage

func (mc *ManagementCenter) DockerImage() string

func (*ManagementCenter) ExternalAddressEnabled

func (mc *ManagementCenter) ExternalAddressEnabled() bool

func (*ManagementCenter) SetupWebhookWithManager

func (r *ManagementCenter) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ManagementCenter) ValidateCreate

func (r *ManagementCenter) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ManagementCenter) ValidateDelete

func (r *ManagementCenter) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ManagementCenter) ValidateUpdate

func (r *ManagementCenter) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ManagementCenterConfig

type ManagementCenterConfig struct {
	// Allows you to execute scripts that can automate interactions with the cluster.
	// +kubebuilder:default:=false
	// +optional
	ScriptingEnabled bool `json:"scriptingEnabled,omitempty"`

	// Allows you to execute commands from a built-in console in the user interface.
	// +kubebuilder:default:=false
	// +optional
	ConsoleEnabled bool `json:"consoleEnabled,omitempty"`

	// Allows you to access contents of Hazelcast data structures via SQL Browser or Map Browser.
	// +kubebuilder:default:=false
	// +optional
	DataAccessEnabled bool `json:"dataAccessEnabled,omitempty"`
}

func (*ManagementCenterConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementCenterConfig.

func (*ManagementCenterConfig) DeepCopyInto

func (in *ManagementCenterConfig) DeepCopyInto(out *ManagementCenterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagementCenterList

type ManagementCenterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ManagementCenter `json:"items"`
}

ManagementCenterList contains a list of ManagementCenter

func (*ManagementCenterList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementCenterList.

func (*ManagementCenterList) DeepCopyInto

func (in *ManagementCenterList) DeepCopyInto(out *ManagementCenterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagementCenterList) DeepCopyObject

func (in *ManagementCenterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagementCenterSpec

type ManagementCenterSpec struct {
	// Repository to pull the Management Center image from.
	// +kubebuilder:default:="docker.io/hazelcast/management-center"
	// +optional
	Repository string `json:"repository,omitempty"`

	// Version of Management Center.
	// +kubebuilder:default:="5.4.0"
	// +optional
	Version string `json:"version,omitempty"`

	// Pull policy for the Management Center image
	// +kubebuilder:default:="IfNotPresent"
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Image pull secrets for the Management Center image
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// licenseKeySecret is a deprecated alias for licenseKeySecretName.
	// +optional
	DeprecatedLicenseKeySecret string `json:"licenseKeySecret,omitempty"`

	// Name of the secret with Hazelcast Enterprise License Key.
	// +optional
	LicenseKeySecretName string `json:"licenseKeySecretName,omitempty"`

	// Connection configuration for the Hazelcast clusters that Management Center will monitor.
	// +optional
	HazelcastClusters []HazelcastClusterConfig `json:"hazelcastClusters,omitempty"`

	// Configuration to expose Management Center to outside.
	// +kubebuilder:default:={type: "LoadBalancer"}
	// +optional
	ExternalConnectivity *ExternalConnectivityConfiguration `json:"externalConnectivity,omitempty"`

	// Configuration for Management Center persistence.
	// +kubebuilder:default:={enabled: true, size: "10Gi"}
	// +optional
	Persistence *MCPersistenceConfiguration `json:"persistence,omitempty"`

	// Scheduling details
	// +kubebuilder:default:={}
	// +optional
	Scheduling *SchedulingConfiguration `json:"scheduling,omitempty"`

	// Compute Resources required by the MC container.
	// +kubebuilder:default:={}
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// ManagementCenter JVM configuration
	// +optional
	JVM *MCJVMConfiguration `json:"jvm,omitempty"`

	// SecurityProviders to authenticate users in Management Center
	// +optional
	SecurityProviders *SecurityProviders `json:"securityProvider,omitempty"`

	// ManagementCenter Kubernetes resource annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// ManagementCenter Kubernetes resource labels
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

ManagementCenterSpec defines the desired state of ManagementCenter.

func (*ManagementCenterSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementCenterSpec.

func (*ManagementCenterSpec) DeepCopyInto

func (in *ManagementCenterSpec) DeepCopyInto(out *ManagementCenterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagementCenterSpec) GetLicenseKeySecretName

func (s *ManagementCenterSpec) GetLicenseKeySecretName() string

type ManagementCenterStatus

type ManagementCenterStatus struct {
	// Phase of the Management Center
	// +optional
	Phase MCPhase `json:"phase,omitempty"`

	// Configured is a flag that indicates if the configuration step has successfully passed
	// +optional
	Configured bool `json:"configured"`

	// Message about the Management Center state
	// +optional
	Message string `json:"message,omitempty"`

	// External addresses of the Management Center instance
	// +optional
	ExternalAddresses string `json:"externalAddresses,omitempty"`
}

ManagementCenterStatus defines the observed state of ManagementCenter.

func (*ManagementCenterStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementCenterStatus.

func (*ManagementCenterStatus) DeepCopyInto

func (in *ManagementCenterStatus) DeepCopyInto(out *ManagementCenterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Map

type Map struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec MapSpec `json:"spec"`
	// +optional
	Status MapStatus `json:"status,omitempty"`
}

Map is the Schema for the maps API +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="Current state of the Map Config" +kubebuilder:printcolumn:name="Hazelcast-Resource",type="string",priority=1,JSONPath=".spec.hazelcastResourceName",description="Name of the Hazelcast resource that this resource is created for" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current Map Config"

func (*Map) DeepCopy

func (in *Map) DeepCopy() *Map

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Map.

func (*Map) DeepCopyInto

func (in *Map) DeepCopyInto(out *Map)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Map) DeepCopyObject

func (in *Map) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Map) MapName

func (m *Map) MapName() string

func (*Map) SetupWebhookWithManager

func (m *Map) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Map) ValidateCreate

func (m *Map) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Map) ValidateDelete

func (m *Map) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Map) ValidateUpdate

func (m *Map) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MapConfigState

type MapConfigState string

+kubebuilder:validation:Enum=Success;Failed;Pending;Persisting;Terminating

const (
	MapFailed  MapConfigState = "Failed"
	MapSuccess MapConfigState = "Success"
	MapPending MapConfigState = "Pending"
	// Map config is added into all members but waiting for map to be persistent into ConfigMap
	MapPersisting  MapConfigState = "Persisting"
	MapTerminating MapConfigState = "Terminating"
)

type MapList

type MapList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Map `json:"items"`
}

MapList contains a list of Map

func (*MapList) DeepCopy

func (in *MapList) DeepCopy() *MapList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MapList.

func (*MapList) DeepCopyInto

func (in *MapList) DeepCopyInto(out *MapList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MapList) DeepCopyObject

func (in *MapList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MapList) GetItems

func (ml *MapList) GetItems() []client.Object

type MapSpec

type MapSpec struct {
	DataStructureSpec `json:",inline"`

	// Maximum time in seconds for each entry to stay in the map.
	// If it is not 0, entries that are older than this time and not updated for this time are evicted automatically.
	// It can be updated.
	// +kubebuilder:default:=0
	// +optional
	TimeToLiveSeconds int32 `json:"timeToLiveSeconds"`

	// Maximum time in seconds for each entry to stay idle in the map.
	// Entries that are idle for more than this time are evicted automatically.
	// It can be updated.
	// +kubebuilder:default:=0
	// +optional
	MaxIdleSeconds int32 `json:"maxIdleSeconds"`

	// Configuration for removing data from the map when it reaches its max size.
	// It can be updated.
	// +kubebuilder:default:={maxSize: 0, evictionPolicy: NONE, maxSizePolicy: PER_NODE}
	// +optional
	Eviction EvictionConfig `json:"eviction,omitempty"`

	// Indexes to be created for the map data.
	// You can learn more at https://docs.hazelcast.com/hazelcast/latest/query/indexing-maps.
	// It cannot be updated after map config is created successfully.
	// +optional
	Indexes []IndexConfig `json:"indexes,omitempty"`

	// Attributes to be used with Predicates API.
	// You can learn more at https://docs.hazelcast.com/hazelcast/latest/query/predicate-overview#creating-custom-query-attributes
	// +optional
	Attributes []AttributeConfig `json:"attributes,omitempty"`

	// When enabled, map data will be persisted.
	// It cannot be updated after map config is created successfully.
	// +kubebuilder:default:=false
	// +optional
	PersistenceEnabled bool `json:"persistenceEnabled"`

	// Configuration options when you want to load/store the map entries
	// from/to a persistent data store such as a relational database
	// You can learn more at https://docs.hazelcast.com/hazelcast/latest/data-structures/working-with-external-data
	// +optional
	MapStore *MapStoreConfig `json:"mapStore,omitempty"`

	// InMemoryFormat specifies in which format data will be stored in your map
	// +kubebuilder:default:=BINARY
	// +optional
	InMemoryFormat InMemoryFormatType `json:"inMemoryFormat,omitempty"`

	// EntryListeners contains the configuration for the map-level or entry-based events listeners
	// provided by the Hazelcast’s eventing framework.
	// You can learn more at https://docs.hazelcast.com/hazelcast/latest/events/object-events.
	// +optional
	EntryListeners []EntryListenerConfiguration `json:"entryListeners,omitempty"`

	// InMemoryFormat specifies near cache configuration for map
	// +optional
	NearCache *NearCache `json:"nearCache"`

	// EventJournal specifies event journal configuration of the Map
	// +optional
	EventJournal *EventJournal `json:"eventJournal,omitempty"`

	// TieredStore enables the Hazelcast's Tiered-Store feature for the Map
	// +optional
	TieredStore *TieredStore `json:"tieredStore,omitempty"`

	// MerkleTree defines the configuration for the Merkle tree data structure.
	// +optional
	MerkleTree *MerkleTreeConfig `json:"merkleTree,omitempty"`
}

MapSpec defines the desired state of Hazelcast Map Config

func (*MapSpec) DeepCopy

func (in *MapSpec) DeepCopy() *MapSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MapSpec.

func (*MapSpec) DeepCopyInto

func (in *MapSpec) DeepCopyInto(out *MapSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MapStatus

type MapStatus struct {
	// +optional
	State MapConfigState `json:"state,omitempty"`
	// +optional
	Message string `json:"message,omitempty"`
	// +optional
	MemberStatuses map[string]MapConfigState `json:"memberStatuses,omitempty"`
}

MapStatus defines the observed state of Map

func (*MapStatus) DeepCopy

func (in *MapStatus) DeepCopy() *MapStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MapStatus.

func (*MapStatus) DeepCopyInto

func (in *MapStatus) DeepCopyInto(out *MapStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MapStoreConfig

type MapStoreConfig struct {
	// Sets the initial entry loading mode.
	// +kubebuilder:default:=LAZY
	// +optional
	InitialMode InitialModeType `json:"initialMode,omitempty"`

	// Name of your class implementing MapLoader and/or MapStore interface.
	// +required
	ClassName string `json:"className"`

	// Number of seconds to delay the storing of entries.
	// +kubebuilder:default:0
	// +optional
	WriteDelaySeconds int32 `json:"writeDelaySeconds"`

	// Used to create batches when writing to map store.
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Minimum=1
	// +optional
	WriteBatchSize int32 `json:"writeBatchSize,omitempty"`

	// It is meaningful if you are using write behind in MapStore. When it is set to true,
	// only the latest store operation on a key during the write-delay-seconds will be
	// reflected to MapStore.
	// +kubebuilder:default:=true
	// +optional
	WriteCoealescing *bool `json:"writeCoalescing,omitempty"`

	// Properties can be used for giving information to the MapStore implementation
	// +optional
	PropertiesSecretName string `json:"propertiesSecretName,omitempty"`
}

func (*MapStoreConfig) DeepCopy

func (in *MapStoreConfig) DeepCopy() *MapStoreConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MapStoreConfig.

func (*MapStoreConfig) DeepCopyInto

func (in *MapStoreConfig) DeepCopyInto(out *MapStoreConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaxSizePolicyType

type MaxSizePolicyType string

+kubebuilder:validation:Enum=PER_NODE;PER_PARTITION;USED_HEAP_SIZE;USED_HEAP_PERCENTAGE;FREE_HEAP_SIZE;FREE_HEAP_PERCENTAGE;USED_NATIVE_MEMORY_SIZE;USED_NATIVE_MEMORY_PERCENTAGE;FREE_NATIVE_MEMORY_SIZE;FREE_NATIVE_MEMORY_PERCENTAGE;ENTRY_COUNT

const (
	// Maximum number of map entries in each cluster member.
	// You cannot set the max-size to a value lower than the partition count (which is 271 by default).
	MaxSizePolicyPerNode MaxSizePolicyType = "PER_NODE"

	// Maximum number of map entries within each partition.
	MaxSizePolicyPerPartition MaxSizePolicyType = "PER_PARTITION"

	// Maximum used heap size percentage per map for each Hazelcast instance.
	// If, for example, JVM is configured to have 1000 MB and this value is 10, then the map entries will be evicted when used heap size
	// exceeds 100 MB. It does not work when "in-memory-format" is set to OBJECT.
	MaxSizePolicyUsedHeapPercentage MaxSizePolicyType = "USED_HEAP_PERCENTAGE"

	// Maximum used heap size in megabytes per map for each Hazelcast instance. It does not work when "in-memory-format" is set to OBJECT.
	MaxSizePolicyUsedHeapSize MaxSizePolicyType = "USED_HEAP_SIZE"

	// Minimum free heap size percentage for each Hazelcast instance. If, for example, JVM is configured to
	// have 1000 MB and this value is 10, then the map entries will be evicted when free heap size is below 100 MB.
	MaxSizePolicyFreeHeapPercentage MaxSizePolicyType = "FREE_HEAP_PERCENTAGE"

	// Minimum free heap size in megabytes for each Hazelcast instance.
	MaxSizePolicyFreeHeapSize MaxSizePolicyType = "FREE_HEAP_SIZE"

	// Maximum used native memory size in megabytes per map for each Hazelcast instance. It is available only in
	// Hazelcast Enterprise HD.
	MaxSizePolicyUsedNativeMemorySize MaxSizePolicyType = "USED_NATIVE_MEMORY_SIZE"

	// Maximum used native memory size percentage per map for each Hazelcast instance. It is available only in
	// Hazelcast Enterprise HD.
	MaxSizePolicyUsedNativeMemoryPercentage MaxSizePolicyType = "USED_NATIVE_MEMORY_PERCENTAGE"

	// Minimum free native memory size in megabytes for each Hazelcast instance. It is available only in
	// Hazelcast Enterprise HD.
	MaxSizePolicyFreeNativeMemorySize MaxSizePolicyType = "FREE_NATIVE_MEMORY_SIZE"

	// Minimum free native memory size percentage for each Hazelcast instance. It is available only in
	// Hazelcast Enterprise HD.
	MaxSizePolicyFreeNativeMemoryPercentage MaxSizePolicyType = "FREE_NATIVE_MEMORY_PERCENTAGE"

	// Maximum size based on the entry count in the Near Cache
	// Warning: This policy is specific to near cache.
	MaxSizePolicyEntryCount MaxSizePolicyType = "ENTRY_COUNT"
)

type MemberAccess

type MemberAccess string

MemberAccess describes how each Hazelcast member is accessed from the external client. +kubebuilder:validation:Enum=NodePortExternalIP;NodePortNodeName;LoadBalancer

const (
	// MemberAccessNodePortExternalIP lets the client access Hazelcast member with the NodePort service and the node external IP/hostname
	MemberAccessNodePortExternalIP MemberAccess = "NodePortExternalIP"

	// MemberAccessNodePortNodeName lets the client access Hazelcast member with the NodePort service and the node name
	MemberAccessNodePortNodeName MemberAccess = "NodePortNodeName"

	// MemberAccessLoadBalancer lets the client access Hazelcast member with the LoadBalancer service
	MemberAccessLoadBalancer MemberAccess = "LoadBalancer"
)

type MerkleTreeConfig

type MerkleTreeConfig struct {
	// Depth of the merkle tree.
	// +kubebuilder:default:=10
	Depth int32 `json:"depth,omitempty"`
}

func (*MerkleTreeConfig) DeepCopy

func (in *MerkleTreeConfig) DeepCopy() *MerkleTreeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MerkleTreeConfig.

func (*MerkleTreeConfig) DeepCopyInto

func (in *MerkleTreeConfig) DeepCopyInto(out *MerkleTreeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultiMap

type MultiMap struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec MultiMapSpec `json:"spec"`
	// +optional
	Status MultiMapStatus `json:"status,omitempty"`
}

MultiMap is the Schema for the multimaps API +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="Current state of the MultiMap Config" +kubebuilder:printcolumn:name="Hazelcast-Resource",type="string",priority=1,JSONPath=".spec.hazelcastResourceName",description="Name of the Hazelcast resource that this resource is created for" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current MultiMap Config" +kubebuilder:resource:shortName=mmap

func (*MultiMap) DeepCopy

func (in *MultiMap) DeepCopy() *MultiMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiMap.

func (*MultiMap) DeepCopyInto

func (in *MultiMap) DeepCopyInto(out *MultiMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MultiMap) DeepCopyObject

func (in *MultiMap) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MultiMap) GetDSName

func (mm *MultiMap) GetDSName() string

func (*MultiMap) GetHZResourceName

func (mm *MultiMap) GetHZResourceName() string

func (*MultiMap) GetKind

func (mm *MultiMap) GetKind() string

func (*MultiMap) GetSpec

func (mm *MultiMap) GetSpec() (string, error)

func (*MultiMap) GetStatus

func (mm *MultiMap) GetStatus() *DataStructureStatus

func (*MultiMap) SetSpec

func (mm *MultiMap) SetSpec(spec string) error

func (*MultiMap) SetupWebhookWithManager

func (r *MultiMap) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MultiMap) ValidateCreate

func (r *MultiMap) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MultiMap) ValidateDelete

func (r *MultiMap) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*MultiMap) ValidateSpecCreate

func (mm *MultiMap) ValidateSpecCreate() error

func (*MultiMap) ValidateSpecCurrent

func (mm *MultiMap) ValidateSpecCurrent(_ *Hazelcast) error

func (*MultiMap) ValidateSpecUpdate

func (mm *MultiMap) ValidateSpecUpdate() error

func (*MultiMap) ValidateUpdate

func (r *MultiMap) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MultiMapList

type MultiMapList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MultiMap `json:"items"`
}

MultiMapList contains a list of MultiMap

func (*MultiMapList) DeepCopy

func (in *MultiMapList) DeepCopy() *MultiMapList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiMapList.

func (*MultiMapList) DeepCopyInto

func (in *MultiMapList) DeepCopyInto(out *MultiMapList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MultiMapList) DeepCopyObject

func (in *MultiMapList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MultiMapList) GetItems

func (mml *MultiMapList) GetItems() []client.Object

type MultiMapSpec

type MultiMapSpec struct {
	DataStructureSpec `json:",inline"`

	// Specifies in which format data will be stored in your MultiMap.
	// false: OBJECT true: BINARY
	// +kubebuilder:default:=false
	// +optional
	Binary bool `json:"binary"`

	// Type of the value collection
	// +kubebuilder:default:=SET
	// +optional
	CollectionType CollectionType `json:"collectionType,omitempty"`
}

MultiMapSpec defines the desired state of MultiMap

func (*MultiMapSpec) DeepCopy

func (in *MultiMapSpec) DeepCopy() *MultiMapSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiMapSpec.

func (*MultiMapSpec) DeepCopyInto

func (in *MultiMapSpec) DeepCopyInto(out *MultiMapSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultiMapStatus

type MultiMapStatus struct {
	DataStructureStatus `json:",inline"`
}

MultiMapStatus defines the observed state of MultiMap

func (*MultiMapStatus) DeepCopy

func (in *MultiMapStatus) DeepCopy() *MultiMapStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiMapStatus.

func (*MultiMapStatus) DeepCopyInto

func (in *MultiMapStatus) DeepCopyInto(out *MultiMapStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MutualAuthentication

type MutualAuthentication string

+kubebuilder:validation:Enum=None;Required;Optional

const (
	// Client side of connection is not authenticated.
	MutualAuthenticationNone MutualAuthentication = "None"

	// Server asks for client certificate. If the client does not provide a
	// keystore or the provided keystore is not verified against member’s
	// truststore, the client is not authenticated.
	MutualAuthenticationRequired MutualAuthentication = "Required"

	// Server asks for client certificate, but client is not required
	// to provide any valid certificate.
	MutualAuthenticationOptional MutualAuthentication = "Optional"
)

type NativeMemoryAllocatorType

type NativeMemoryAllocatorType string

NativeMemoryAllocatorType is one of 2 types of mechanism for allocating HD Memory +kubebuilder:validation:Enum=STANDARD;POOLED

const (
	// NativeMemoryStandard allocate memory using default OS memory manager
	NativeMemoryStandard NativeMemoryAllocatorType = "STANDARD"

	// NativeMemoryPooled is Hazelcast own pooling memory allocator
	NativeMemoryPooled NativeMemoryAllocatorType = "POOLED"
)

type NativeMemoryConfiguration

type NativeMemoryConfiguration struct {
	// AllocatorType specifies one of 2 types of mechanism for allocating memory to HD
	// +kubebuilder:default:="STANDARD"
	// +optional
	AllocatorType NativeMemoryAllocatorType `json:"allocatorType,omitempty"`

	// Size of the total native memory to allocate
	// +kubebuilder:default:="512M"
	// +optional
	Size resource.Quantity `json:"size,omitempty"`

	// MinBlockSize is the size of smallest block that will be allocated.
	// It is used only by the POOLED memory allocator.
	// +optional
	MinBlockSize int32 `json:"minBlockSize,omitempty"`

	// PageSize is the size of the page in bytes to allocate memory as a block.
	// It is used only by the POOLED memory allocator.
	// +kubebuilder:default:=4194304
	// +optional
	PageSize int32 `json:"pageSize,omitempty"`

	// MetadataSpacePercentage defines percentage of the allocated native memory
	// that is used for the metadata of other map components such as index
	// (for predicates), offset, etc.
	// +kubebuilder:default:=12
	// +optional
	MetadataSpacePercentage int32 `json:"metadataSpacePercentage,omitempty"`
}

NativeMemoryConfiguration is a Hazelcast HD memory configuration

func (*NativeMemoryConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NativeMemoryConfiguration.

func (*NativeMemoryConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NativeMemoryConfiguration) IsEnabled

func (c *NativeMemoryConfiguration) IsEnabled() bool

type NearCache

type NearCache struct {
	// Name is name of the near cache
	// +kubebuilder:default:=default
	// +optional
	Name string `json:"name,omitempty"`

	// InMemoryFormat specifies in which format data will be stored in your near cache
	// +kubebuilder:default:=BINARY
	// +optional
	InMemoryFormat InMemoryFormatType `json:"inMemoryFormat,omitempty"`

	// InvalidateOnChange specifies whether the cached entries are evicted when the entries are updated or removed
	// +kubebuilder:default:=true
	// +optional
	InvalidateOnChange *bool `json:"invalidateOnChange,omitempty"`

	// TimeToLiveSeconds maximum number of seconds for each entry to stay in the Near Cache
	// +kubebuilder:default:=0
	// +optional
	TimeToLiveSeconds uint `json:"timeToLiveSeconds,omitempty"`

	// MaxIdleSeconds Maximum number of seconds each entry can stay in the Near Cache as untouched (not read)
	// +kubebuilder:default:=0
	// +optional
	MaxIdleSeconds uint `json:"maxIdleSeconds,omitempty"`

	// NearCacheEviction specifies the eviction behavior in Near Cache
	// +kubebuilder:default:={evictionPolicy: NONE, maxSizePolicy: ENTRY_COUNT}
	NearCacheEviction NearCacheEviction `json:"eviction"`

	// CacheLocalEntries specifies whether the local entries are cached
	// +kubebuilder:default:=true
	// +optional
	CacheLocalEntries *bool `json:"cacheLocalEntries,omitempty"`
}

func (*NearCache) DeepCopy

func (in *NearCache) DeepCopy() *NearCache

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NearCache.

func (*NearCache) DeepCopyInto

func (in *NearCache) DeepCopyInto(out *NearCache)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NearCacheEviction

type NearCacheEviction struct {
	// EvictionPolicy to be applied when near cache reaches its max size according to the max size policy.
	// +kubebuilder:default:="NONE"
	// +optional
	EvictionPolicy EvictionPolicyType `json:"evictionPolicy,omitempty"`

	// MaxSizePolicy for deciding if the maxSize is reached.
	// +kubebuilder:default:="ENTRY_COUNT"
	// +optional
	MaxSizePolicy MaxSizePolicyType `json:"maxSizePolicy,omitempty"`

	// Size is maximum size of the Near Cache used for max-size-policy
	// +kubebuilder:default:=0
	// +optional
	Size uint32 `json:"size"`
}

func (*NearCacheEviction) DeepCopy

func (in *NearCacheEviction) DeepCopy() *NearCacheEviction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NearCacheEviction.

func (*NearCacheEviction) DeepCopyInto

func (in *NearCacheEviction) DeepCopyInto(out *NearCacheEviction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeState

type NodeState string

+kubebuilder:validation:Enum=PASSIVE;ACTIVE;SHUT_DOWN;STARTING

const (
	NodeStatePassive  NodeState = "PASSIVE"
	NodeStateActive   NodeState = "ACTIVE"
	NodeStateShutDown NodeState = "SHUT_DOWN"
	NodeStateStarting NodeState = "STARTING"
)

type PVCNamePrefix

type PVCNamePrefix string

PVCNamePrefix specifies the prefix of existing PVCs +kubebuilder:validation:Enum=persistence;hot-restart-persistence

const (
	// Persistence format is persistence.
	Persistence PVCNamePrefix = "persistence"

	// HotRestartPersistence format is hot-restart-persistence.
	HotRestartPersistence PVCNamePrefix = "hot-restart-persistence"
)

type PersistenceStartupAction

type PersistenceStartupAction string

PersistenceStartupAction represents the action triggered on the cluster startup to force the cluster startup. +kubebuilder:validation:Enum=ForceStart;PartialStart

const (
	// ForceStart will trigger the force start action on the startup
	ForceStart PersistenceStartupAction = "ForceStart"

	// PartialStart will trigger the partial start action on the startup.
	// Can be used only with the MostComplete or MostRecent DataRecoveryPolicyType type.
	PartialStart PersistenceStartupAction = "PartialStart"
)

type Phase

type Phase string

Phase represents the current state of the cluster +kubebuilder:validation:Enum=Running;Failed;Pending;Terminating

const (
	// Running phase is the state when all the members of the cluster are successfully started
	Running Phase = "Running"
	// Failed phase is the state of error during the cluster startup
	Failed Phase = "Failed"
	// Pending phase is the state of starting the cluster when not all the members are started yet
	Pending Phase = "Pending"
	// Terminating phase is the state where deletion of cluster scoped resources and Hazelcast dependent resources happen
	Terminating Phase = "Terminating"
)

type PvcConfiguration

type PvcConfiguration struct {
	// AccessModes contains the actual access modes of the volume backing the PVC has.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
	// +optional
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`

	// A description of the PVC request capacity.
	// +kubebuilder:default:="8Gi"
	// +optional
	RequestStorage *resource.Quantity `json:"requestStorage,omitempty"`

	// Name of StorageClass which this persistent volume belongs to.
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty"`
}

func (*PvcConfiguration) DeepCopy

func (in *PvcConfiguration) DeepCopy() *PvcConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PvcConfiguration.

func (*PvcConfiguration) DeepCopyInto

func (in *PvcConfiguration) DeepCopyInto(out *PvcConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Queue

type Queue struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec QueueSpec `json:"spec"`
	// +optional
	Status QueueStatus `json:"status,omitempty"`
}

Queue is the Schema for the queues API

func (*Queue) DeepCopy

func (in *Queue) DeepCopy() *Queue

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Queue.

func (*Queue) DeepCopyInto

func (in *Queue) DeepCopyInto(out *Queue)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Queue) DeepCopyObject

func (in *Queue) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Queue) GetDSName

func (q *Queue) GetDSName() string

func (*Queue) GetHZResourceName

func (q *Queue) GetHZResourceName() string

func (*Queue) GetKind

func (q *Queue) GetKind() string

func (*Queue) GetSpec

func (q *Queue) GetSpec() (string, error)

func (*Queue) GetStatus

func (q *Queue) GetStatus() *DataStructureStatus

func (*Queue) SetSpec

func (q *Queue) SetSpec(spec string) error

func (*Queue) SetupWebhookWithManager

func (r *Queue) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Queue) ValidateCreate

func (r *Queue) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Queue) ValidateDelete

func (r *Queue) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Queue) ValidateSpecCreate

func (q *Queue) ValidateSpecCreate() error

func (*Queue) ValidateSpecCurrent

func (q *Queue) ValidateSpecCurrent(_ *Hazelcast) error

func (*Queue) ValidateSpecUpdate

func (q *Queue) ValidateSpecUpdate() error

func (*Queue) ValidateUpdate

func (r *Queue) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type QueueList

type QueueList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Queue `json:"items"`
}

QueueList contains a list of Queue

func (*QueueList) DeepCopy

func (in *QueueList) DeepCopy() *QueueList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueList.

func (*QueueList) DeepCopyInto

func (in *QueueList) DeepCopyInto(out *QueueList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QueueList) DeepCopyObject

func (in *QueueList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*QueueList) GetItems

func (ql *QueueList) GetItems() []client.Object

type QueueSetting

type QueueSetting struct {
	// Capacity is the total capacity of WAN queue.
	// +kubebuilder:default:=10000
	// +optional
	Capacity int32 `json:"capacity,omitempty"`

	// FullBehavior represents the behavior of the new arrival when the queue is full.
	// +kubebuilder:default:=DISCARD_AFTER_MUTATION
	// +optional
	FullBehavior FullBehaviorSetting `json:"fullBehavior,omitempty"`
}

QueueSetting defines the configuration for Hazelcast WAN queue

func (*QueueSetting) DeepCopy

func (in *QueueSetting) DeepCopy() *QueueSetting

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueSetting.

func (*QueueSetting) DeepCopyInto

func (in *QueueSetting) DeepCopyInto(out *QueueSetting)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueueSpec

type QueueSpec struct {
	DataStructureSpec `json:",inline"`

	// Max size of the queue.
	// +kubebuilder:default:=0
	// +kubebuilder:validation:Minimum=0
	// +optional
	MaxSize int32 `json:"maxSize"`

	// Time in seconds after which the Queue will be destroyed if it stays empty or unused.
	// If the values is not provided the Queue will never be destroyed.
	// +kubebuilder:default:=-1
	// +optional
	EmptyQueueTtlSeconds *int32 `json:"emptyQueueTTLSeconds,omitempty"`

	// The name of the comparator class.
	// If the class name is provided, the Queue becomes Priority Queue.
	// You can learn more at https://docs.hazelcast.com/hazelcast/latest/data-structures/priority-queue.
	// +optional
	PriorityComparatorClassName string `json:"priorityComparatorClassName,omitempty"`
}

QueueSpec defines the desired state of Queue It cannot be updated after the Queue is created

func (*QueueSpec) DeepCopy

func (in *QueueSpec) DeepCopy() *QueueSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueSpec.

func (*QueueSpec) DeepCopyInto

func (in *QueueSpec) DeepCopyInto(out *QueueSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueueStatus

type QueueStatus struct {
	DataStructureStatus `json:",inline"`
}

QueueStatus defines the observed state of Queue

func (*QueueStatus) DeepCopy

func (in *QueueStatus) DeepCopy() *QueueStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueStatus.

func (*QueueStatus) DeepCopyInto

func (in *QueueStatus) DeepCopyInto(out *QueueStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RMInMemoryFormatType

type RMInMemoryFormatType string

RMInMemoryFormatType represents the format options for storing the data in the ReplicatedMap. +kubebuilder:validation:Enum=BINARY;OBJECT

const (
	// RMInMemoryFormatBinary Data will be stored in serialized binary format.
	RMInMemoryFormatBinary RMInMemoryFormatType = "BINARY"

	// RMInMemoryFormatObject Data will be stored in deserialized form.
	RMInMemoryFormatObject RMInMemoryFormatType = "OBJECT"
)

type RemoteFileConfiguration

type RemoteFileConfiguration struct {
	// Bucket config from where the JAR files will be downloaded.
	// +optional
	BucketConfiguration *BucketConfiguration `json:"bucketConfig,omitempty"`

	// Names of the list of ConfigMaps. Files in each ConfigMap will be downloaded.
	// +optional
	ConfigMaps []string `json:"configMaps,omitempty"`

	// List of URLs from where the files will be downloaded.
	// +optional
	RemoteURLs []string `json:"remoteURLs,omitempty"`
}

func (*RemoteFileConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteFileConfiguration.

func (*RemoteFileConfiguration) DeepCopyInto

func (in *RemoteFileConfiguration) DeepCopyInto(out *RemoteFileConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicatedMap

type ReplicatedMap struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec ReplicatedMapSpec `json:"spec"`
	// +optional
	Status ReplicatedMapStatus `json:"status,omitempty"`
}

ReplicatedMap is the Schema for the replicatedmaps API +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="Current state of the ReplicatedMap Config" +kubebuilder:printcolumn:name="Hazelcast-Resource",type="string",priority=1,JSONPath=".spec.hazelcastResourceName",description="Name of the Hazelcast resource that this resource is created for" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current ReplicatedMap Config" +kubebuilder:resource:shortName=rmap

func (*ReplicatedMap) DeepCopy

func (in *ReplicatedMap) DeepCopy() *ReplicatedMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicatedMap.

func (*ReplicatedMap) DeepCopyInto

func (in *ReplicatedMap) DeepCopyInto(out *ReplicatedMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReplicatedMap) DeepCopyObject

func (in *ReplicatedMap) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ReplicatedMap) GetDSName

func (rm *ReplicatedMap) GetDSName() string

func (*ReplicatedMap) GetHZResourceName

func (rm *ReplicatedMap) GetHZResourceName() string

func (*ReplicatedMap) GetKind

func (rm *ReplicatedMap) GetKind() string

func (*ReplicatedMap) GetSpec

func (rm *ReplicatedMap) GetSpec() (string, error)

func (*ReplicatedMap) GetStatus

func (rm *ReplicatedMap) GetStatus() *DataStructureStatus

func (*ReplicatedMap) SetSpec

func (rm *ReplicatedMap) SetSpec(spec string) error

func (*ReplicatedMap) SetupWebhookWithManager

func (r *ReplicatedMap) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ReplicatedMap) ValidateCreate

func (r *ReplicatedMap) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ReplicatedMap) ValidateDelete

func (r *ReplicatedMap) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ReplicatedMap) ValidateSpecCurrent

func (rm *ReplicatedMap) ValidateSpecCurrent(_ *Hazelcast) error

func (*ReplicatedMap) ValidateSpecUpdate

func (rm *ReplicatedMap) ValidateSpecUpdate() error

func (*ReplicatedMap) ValidateUpdate

func (r *ReplicatedMap) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ReplicatedMapList

type ReplicatedMapList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ReplicatedMap `json:"items"`
}

ReplicatedMapList contains a list of ReplicatedMap

func (*ReplicatedMapList) DeepCopy

func (in *ReplicatedMapList) DeepCopy() *ReplicatedMapList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicatedMapList.

func (*ReplicatedMapList) DeepCopyInto

func (in *ReplicatedMapList) DeepCopyInto(out *ReplicatedMapList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReplicatedMapList) DeepCopyObject

func (in *ReplicatedMapList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ReplicatedMapList) GetItems

func (rml *ReplicatedMapList) GetItems() []client.Object

type ReplicatedMapSpec

type ReplicatedMapSpec struct {
	// Name of the ReplicatedMap config to be created. If empty, CR name will be used.
	// +optional
	Name string `json:"name,omitempty"`

	// AsyncFillup specifies whether the ReplicatedMap is available for reads before the initial replication is completed
	// +kubebuilder:default:=true
	// +optional
	AsyncFillup *bool `json:"asyncFillup,omitempty"`

	// InMemoryFormat specifies in which format data will be stored in the ReplicatedMap
	// +kubebuilder:default:=OBJECT
	// +optional
	InMemoryFormat RMInMemoryFormatType `json:"inMemoryFormat,omitempty"`

	// HazelcastResourceName defines the name of the Hazelcast resource.
	// +kubebuilder:validation:MinLength:=1
	// +required
	HazelcastResourceName string `json:"hazelcastResourceName"`
}

ReplicatedMapSpec defines the desired state of ReplicatedMap

func (*ReplicatedMapSpec) DeepCopy

func (in *ReplicatedMapSpec) DeepCopy() *ReplicatedMapSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicatedMapSpec.

func (*ReplicatedMapSpec) DeepCopyInto

func (in *ReplicatedMapSpec) DeepCopyInto(out *ReplicatedMapSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicatedMapStatus

type ReplicatedMapStatus struct {
	DataStructureStatus `json:",inline"`
}

ReplicatedMapStatus defines the observed state of ReplicatedMap

func (*ReplicatedMapStatus) DeepCopy

func (in *ReplicatedMapStatus) DeepCopy() *ReplicatedMapStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicatedMapStatus.

func (*ReplicatedMapStatus) DeepCopyInto

func (in *ReplicatedMapStatus) DeepCopyInto(out *ReplicatedMapStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceKind

type ResourceKind string

+kubebuilder:validation:Enum=Map;Hazelcast

const (
	ResourceKindMap ResourceKind = "Map"

	ResourceKindHZ ResourceKind = "Hazelcast"
)

type ResourceSpec

type ResourceSpec struct {
	// Name is the name of custom resource to which WAN replication applies.
	// +kubebuilder:validation:MinLength:=1
	// +required
	Name string `json:"name"`

	// Kind is the kind of custom resource to which WAN replication applies.
	// +kubebuilder:default:=Map
	// +optional
	Kind ResourceKind `json:"kind,omitempty"`
}

func (*ResourceSpec) DeepCopy

func (in *ResourceSpec) DeepCopy() *ResourceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.

func (*ResourceSpec) DeepCopyInto

func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RestoreConfiguration

type RestoreConfiguration struct {
	// Bucket Configuration from which the backup will be downloaded.
	// +optional
	BucketConfiguration *BucketConfiguration `json:"bucketConfig,omitempty"`

	// Name of the HotBackup resource from which backup will be fetched.
	// +optional
	HotBackupResourceName string `json:"hotBackupResourceName,omitempty"`

	// Configuration to restore from local backup
	// +optional
	LocalConfiguration *RestoreFromLocalConfiguration `json:"localConfig,omitempty"`
}

RestoreConfiguration contains the configuration for Restore operation +kubebuilder:validation:MaxProperties=1

func (*RestoreConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreConfiguration.

func (*RestoreConfiguration) DeepCopyInto

func (in *RestoreConfiguration) DeepCopyInto(out *RestoreConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RestoreConfiguration) Hash

func (rc RestoreConfiguration) Hash() string

type RestoreFromLocalConfiguration

type RestoreFromLocalConfiguration struct {
	// PVC name prefix used in existing PVCs
	// +optional
	// +kubebuilder:default:="persistence"
	PVCNamePrefix PVCNamePrefix `json:"pvcNamePrefix,omitempty"`

	// Persistence base directory
	// +optional
	BaseDir string `json:"baseDir,omitempty"`

	// Local backup base directory
	// +optional
	BackupDir string `json:"backupDir,omitempty"`

	// Backup directory
	// +optional
	// +kubebuilder:validation:MinLength:=1
	BackupFolder string `json:"backupFolder,omitempty"`
}

func (*RestoreFromLocalConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreFromLocalConfiguration.

func (*RestoreFromLocalConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RestoreState

type RestoreState string

+kubebuilder:validation:Enum=Unknown;Failed;InProgress;Succeeded

const (
	RestoreUnknown    RestoreState = "Unknown"
	RestoreFailed     RestoreState = "Failed"
	RestoreInProgress RestoreState = "InProgress"
	RestoreSucceeded  RestoreState = "Succeeded"
)

type RestoreStatus

type RestoreStatus struct {
	// State shows the current phase of the restore process of the cluster.
	// +optional
	State RestoreState `json:"state,omitempty"`

	// RemainingValidationTime show the time in seconds remained for the restore validation step.
	// +optional
	RemainingValidationTime int64 `json:"remainingValidationTime,omitempty"`

	// RemainingDataLoadTime show the time in seconds remained for the restore data load step.
	// +optional
	RemainingDataLoadTime int64 `json:"remainingDataLoadTime,omitempty"`
}

func (*RestoreStatus) DeepCopy

func (in *RestoreStatus) DeepCopy() *RestoreStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreStatus.

func (*RestoreStatus) DeepCopyInto

func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SQL

type SQL struct {
	// StatementTimeout defines the timeout in milliseconds that is applied
	// to queries without an explicit timeout.
	// +kubebuilder:default:=0
	// +optional
	StatementTimeout int32 `json:"statementTimeout"`

	// CatalogPersistenceEnabled sets whether SQL Catalog persistence is enabled for the node.
	// With SQL Catalog persistence enabled you can restart the whole cluster without
	// losing schema definition objects (such as MAPPINGs, TYPEs, VIEWs and DATA CONNECTIONs).
	// The feature is implemented on top of the Hot Restart feature of Hazelcast
	// which persists the data to disk. If enabled, you have to also configure
	// Hot Restart. Feature is disabled by default.
	// +kubebuilder:default:=false
	// +optional
	CatalogPersistenceEnabled bool `json:"catalogPersistenceEnabled"`
}

func (*SQL) DeepCopy

func (in *SQL) DeepCopy() *SQL

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SQL.

func (*SQL) DeepCopyInto

func (in *SQL) DeepCopyInto(out *SQL)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScheduledExecutorServiceConfiguration

type ScheduledExecutorServiceConfiguration struct {
	// The name of the executor service
	// +kubebuilder:default:="default"
	// +optional
	Name string `json:"name,omitempty"`

	// The number of executor threads per member.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=16
	// +optional
	PoolSize int32 `json:"poolSize,omitempty"`

	// Durability of the executor.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=1
	// +optional
	Durability int32 `json:"durability,omitempty"`

	// Capacity of the executor task per partition.
	// +kubebuilder:default:=100
	// +optional
	Capacity int32 `json:"capacity,omitempty"`

	// The active policy for the capacity setting.
	// +kubebuilder:default:=PER_NODE
	// +optional
	CapacityPolicy string `json:"capacityPolicy,omitempty"`
}

func (*ScheduledExecutorServiceConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduledExecutorServiceConfiguration.

func (*ScheduledExecutorServiceConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingConfiguration

type SchedulingConfiguration struct {
	// Affinity
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Tolerations
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// NodeSelector
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// TopologySpreadConstraints
	// +optional
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}

SchedulingConfiguration defines the pods scheduling details

func (*SchedulingConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingConfiguration.

func (*SchedulingConfiguration) DeepCopyInto

func (in *SchedulingConfiguration) DeepCopyInto(out *SchedulingConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityProviders

type SecurityProviders struct {
	// LDAP security provider
	// +optional
	LDAP *LDAPProvider `json:"ldap,omitempty"`
}

func (*SecurityProviders) DeepCopy

func (in *SecurityProviders) DeepCopy() *SecurityProviders

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityProviders.

func (*SecurityProviders) DeepCopyInto

func (in *SecurityProviders) DeepCopyInto(out *SecurityProviders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecurityProviders) IsEnabled

func (sp *SecurityProviders) IsEnabled() bool

type SerializationConfig

type SerializationConfig struct {

	// Specifies the byte order that the serialization will use.
	// +kubebuilder:default:=BigEndian
	// +optional
	ByteOrder ByteOrder `json:"byteOrder"`

	// Allows override of built-in default serializers.
	// +kubebuilder:default:=false
	// +optional
	OverrideDefaultSerializers bool `json:"overrideDefaultSerializers,omitempty"`

	// Enables compression when default Java serialization is used.
	// +kubebuilder:default:=false
	// +optional
	EnableCompression bool `json:"enableCompression,omitempty"`

	// Enables shared object when default Java serialization is used.
	// +kubebuilder:default:=false
	// +optional
	EnableSharedObject bool `json:"enableSharedObject,omitempty"`

	// Allow the usage of unsafe.
	// +kubebuilder:default:=false
	// +optional
	AllowUnsafe bool `json:"allowUnsafe,omitempty"`

	// Lists class implementations of Hazelcast's DataSerializableFactory.
	// +optional
	DataSerializableFactories []string `json:"dataSerializableFactories,omitempty"`

	// Lists class implementations of Hazelcast's PortableFactory.
	// +optional
	PortableFactories []string `json:"portableFactories,omitempty"`

	// List of global serializers.
	// +optional
	GlobalSerializer *GlobalSerializer `json:"globalSerializer,omitempty"`

	// List of serializers (classes) that implemented using Hazelcast's StreamSerializer, ByteArraySerializer etc.
	// +optional
	Serializers []Serializer `json:"serializers,omitempty"`

	// Configuration attributes the compact serialization.
	// +optional
	CompactSerialization *CompactSerializationConfig `json:"compactSerialization,omitempty"`

	// Blacklist and whitelist for deserialized classes when Java serialization is used.
	// +optional
	JavaSerializationFilter *JavaSerializationFilter `json:"javaSerializationFilter,omitempty"`
}

SerializationConfig contains the configuration for the Hazelcast serialization.

func (*SerializationConfig) DeepCopy

func (in *SerializationConfig) DeepCopy() *SerializationConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SerializationConfig.

func (*SerializationConfig) DeepCopyInto

func (in *SerializationConfig) DeepCopyInto(out *SerializationConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SerializationFilterList

type SerializationFilterList struct {

	// List of class names to be filtered.
	// +optional
	Classes []string `json:"classes,omitempty"`

	// List of packages to be filtered
	// +optional
	Packages []string `json:"packages,omitempty"`

	// List of prefixes to be filtered.
	// +optional
	Prefixes []string `json:"prefixes,omitempty"`
}

+kubebuilder:validation:MinProperties:=1

func (*SerializationFilterList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SerializationFilterList.

func (*SerializationFilterList) DeepCopyInto

func (in *SerializationFilterList) DeepCopyInto(out *SerializationFilterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Serializer

type Serializer struct {

	// Name of the class that will be serialized via this implementation.
	// +required
	TypeClass string `json:"typeClass"`

	// Class name of the implementation of the serializer class.
	// +required
	ClassName string `json:"className"`
}

Serializer allows to plug in a custom serializer for serializing objects.

func (*Serializer) DeepCopy

func (in *Serializer) DeepCopy() *Serializer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Serializer.

func (*Serializer) DeepCopyInto

func (in *Serializer) DeepCopyInto(out *Serializer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerSocketEndpointConfig

type ServerSocketEndpointConfig struct {
	Interfaces []string `json:"interfaces,omitempty"`
}

func (*ServerSocketEndpointConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerSocketEndpointConfig.

func (*ServerSocketEndpointConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SyncConsistencyCheckStrategy

type SyncConsistencyCheckStrategy string

type TLS

type TLS struct {
	// Name of the secret with TLS certificate and key.
	SecretName string `json:"secretName"`

	// Mutual authentication configuration. It’s None by default which
	// means the client side of connection is not authenticated.
	// +kubebuilder:default:="None"
	// +optional
	MutualAuthentication MutualAuthentication `json:"mutualAuthentication,omitempty"`
}

func (*TLS) DeepCopy

func (in *TLS) DeepCopy() *TLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.

func (*TLS) DeepCopyInto

func (in *TLS) DeepCopyInto(out *TLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TieredStore

type TieredStore struct {
	// MemoryCapacity sets Memory tier capacity, i.e., how much main memory should this tier consume at most.
	// +kubebuilder:default:="256M"
	// +optional
	MemoryCapacity *resource.Quantity `json:"memoryCapacity,omitempty"`
	// diskDeviceName defines the name of the device for a given disk tier.
	// +required
	DiskDeviceName string `json:"diskDeviceName,omitempty"`
}

func (*TieredStore) DeepCopy

func (in *TieredStore) DeepCopy() *TieredStore

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TieredStore.

func (*TieredStore) DeepCopyInto

func (in *TieredStore) DeepCopyInto(out *TieredStore)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Topic

type Topic struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec TopicSpec `json:"spec"`
	// +optional
	Status TopicStatus `json:"status,omitempty"`
}

Topic is the Schema for the topics API

func (*Topic) DeepCopy

func (in *Topic) DeepCopy() *Topic

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Topic.

func (*Topic) DeepCopyInto

func (in *Topic) DeepCopyInto(out *Topic)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Topic) DeepCopyObject

func (in *Topic) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Topic) GetDSName

func (t *Topic) GetDSName() string

func (*Topic) GetHZResourceName

func (t *Topic) GetHZResourceName() string

func (*Topic) GetKind

func (t *Topic) GetKind() string

func (*Topic) GetSpec

func (t *Topic) GetSpec() (string, error)

func (*Topic) GetStatus

func (t *Topic) GetStatus() *DataStructureStatus

func (*Topic) SetSpec

func (t *Topic) SetSpec(spec string) error

func (*Topic) SetupWebhookWithManager

func (r *Topic) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Topic) ValidateCreate

func (r *Topic) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Topic) ValidateDelete

func (r *Topic) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Topic) ValidateSpecCurrent

func (t *Topic) ValidateSpecCurrent(_ *Hazelcast) error

func (*Topic) ValidateSpecUpdate

func (t *Topic) ValidateSpecUpdate() error

func (*Topic) ValidateUpdate

func (r *Topic) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type TopicList

type TopicList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Topic `json:"items"`
}

TopicList contains a list of Topic

func (*TopicList) DeepCopy

func (in *TopicList) DeepCopy() *TopicList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicList.

func (*TopicList) DeepCopyInto

func (in *TopicList) DeepCopyInto(out *TopicList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TopicList) DeepCopyObject

func (in *TopicList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TopicList) GetItems

func (tl *TopicList) GetItems() []client.Object

type TopicSpec

type TopicSpec struct {
	// Name of the topic config to be created. If empty, CR name will be used.
	// +optional
	Name string `json:"name,omitempty"`

	// globalOrderingEnabled allows all nodes listening to the same topic get their messages in the same order
	// the same order
	// +kubebuilder:default:=false
	// +optional
	GlobalOrderingEnabled bool `json:"globalOrderingEnabled"`

	// multiThreadingEnabled enables multi-threaded processing of incoming messages
	// a single thread will handle all topic messages
	// +kubebuilder:default:=false
	// +optional
	MultiThreadingEnabled bool `json:"multiThreadingEnabled"`

	// HazelcastResourceName defines the name of the Hazelcast resource for which
	// topic config will be created
	// +kubebuilder:validation:MinLength:=1
	// +required
	HazelcastResourceName string `json:"hazelcastResourceName"`
}

TopicSpec defines the desired state of Topic

func (*TopicSpec) DeepCopy

func (in *TopicSpec) DeepCopy() *TopicSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicSpec.

func (*TopicSpec) DeepCopyInto

func (in *TopicSpec) DeepCopyInto(out *TopicSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TopicStatus

type TopicStatus struct {
	DataStructureStatus `json:",inline"`
}

TopicStatus defines the observed state of Topic

func (*TopicStatus) DeepCopy

func (in *TopicStatus) DeepCopy() *TopicStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicStatus.

func (*TopicStatus) DeepCopyInto

func (in *TopicStatus) DeepCopyInto(out *TopicStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UniqueKeyTransition

type UniqueKeyTransition string

+kubebuilder:validation:Enum=OBJECT;LONG;RAW

const (
	UniqueKeyTransitionObject UniqueKeyTransition = "OBJECT"
	UniqueKeyTransitionLong   UniqueKeyTransition = "LONG"
	UniqueKeyTransitionRAW    UniqueKeyTransition = "RAW"
)

type UserCodeDeploymentConfig

type UserCodeDeploymentConfig struct {
	// When true, allows user code deployment from clients.
	// +optional
	ClientEnabled *bool `json:"clientEnabled,omitempty"`

	// A string for triggering a rolling restart for re-downloading the user code.
	// +optional
	TriggerSequence string `json:"triggerSequence,omitempty"`

	// Configuration for files to download. Files downloaded will be put under Java CLASSPATH.
	// +optional
	RemoteFileConfiguration `json:",inline"`
}

UserCodeDeploymentConfig contains the configuration for User Code download operation

func (*UserCodeDeploymentConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserCodeDeploymentConfig.

func (*UserCodeDeploymentConfig) DeepCopyInto

func (in *UserCodeDeploymentConfig) DeepCopyInto(out *UserCodeDeploymentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UserCodeDeploymentConfig) IsBucketEnabled

func (c *UserCodeDeploymentConfig) IsBucketEnabled() bool

Returns true if userCodeDeployment.bucketConfiguration is specified.

func (*UserCodeDeploymentConfig) IsConfigMapEnabled

func (c *UserCodeDeploymentConfig) IsConfigMapEnabled() bool

Returns true if userCodeDeployment.configMaps configuration is specified.

func (*UserCodeDeploymentConfig) IsRemoteURLsEnabled

func (c *UserCodeDeploymentConfig) IsRemoteURLsEnabled() bool

Returns true if userCodeDeployment.RemoteURLs configuration is specified.

type WANConfig

type WANConfig struct {
	Port        uint               `json:"port,omitempty"`
	PortCount   uint               `json:"portCount,omitempty"`
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
	// +kubebuilder:validation:MaxLength:=8
	Name string `json:"name,omitempty"`
}

func (*WANConfig) DeepCopy

func (in *WANConfig) DeepCopy() *WANConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WANConfig.

func (*WANConfig) DeepCopyInto

func (in *WANConfig) DeepCopyInto(out *WANConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WanReplication

type WanReplication struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec WanReplicationSpec `json:"spec"`
	// +optional
	Status WanReplicationStatus `json:"status,omitempty"`
}

WanReplication is the Schema for the wanreplications API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status",description="Current state of the Hazelcast WAN Replication" +kubebuilder:printcolumn:name="Message",type="string",priority=1,JSONPath=".status.message",description="Message for the current WanReplication Config" +kubebuilder:resource:shortName=wr

func (*WanReplication) DeepCopy

func (in *WanReplication) DeepCopy() *WanReplication

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanReplication.

func (*WanReplication) DeepCopyInto

func (in *WanReplication) DeepCopyInto(out *WanReplication)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WanReplication) DeepCopyObject

func (in *WanReplication) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WanReplication) PublisherId

func (w *WanReplication) PublisherId(mapName string) string

func (*WanReplication) SetupWebhookWithManager

func (r *WanReplication) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*WanReplication) ValidateCreate

func (r *WanReplication) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*WanReplication) ValidateDelete

func (r *WanReplication) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*WanReplication) ValidateUpdate

func (r *WanReplication) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type WanReplicationList

type WanReplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []WanReplication `json:"items"`
}

WanReplicationList contains a list of WanReplication

func (*WanReplicationList) DeepCopy

func (in *WanReplicationList) DeepCopy() *WanReplicationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanReplicationList.

func (*WanReplicationList) DeepCopyInto

func (in *WanReplicationList) DeepCopyInto(out *WanReplicationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WanReplicationList) DeepCopyObject

func (in *WanReplicationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WanReplicationMapStatus

type WanReplicationMapStatus struct {
	// ResourceName is the name of the Map Custom Resource.
	// +optional
	ResourceName string `json:"resourceName,omitempty"`

	// PublisherId is the ID used for WAN publisher ID
	// +optional
	PublisherId string `json:"publisherId,omitempty"`

	// Status is the status of WAN replication
	// +optional
	Status WanStatus `json:"status,omitempty"`

	// Message is the field to show detail information or error
	// +optional
	Message string `json:"message,omitempty"`
}

func (*WanReplicationMapStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanReplicationMapStatus.

func (*WanReplicationMapStatus) DeepCopyInto

func (in *WanReplicationMapStatus) DeepCopyInto(out *WanReplicationMapStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WanReplicationSpec

type WanReplicationSpec struct {
	// Resources is the list of custom resources to which WAN replication applies.
	// +kubebuilder:validation:MinItems:=1
	// +required
	Resources []ResourceSpec `json:"resources"`

	// ClusterName is the clusterName field of the target Hazelcast resource.
	// +kubebuilder:validation:MinLength:=1
	// +required
	TargetClusterName string `json:"targetClusterName"`

	// Endpoints is the target cluster comma separated endpoint list .
	// +kubebuilder:validation:MinLength:=1
	// +required
	Endpoints string `json:"endpoints"`

	// Queue is the configuration for WAN events queue.
	// +kubebuilder:default:={capacity: 10000, fullBehavior: DISCARD_AFTER_MUTATION}
	// +optional
	Queue QueueSetting `json:"queue,omitempty"`

	// Batch is the configuration for WAN events batch.
	// +kubebuilder:default:={size: 500, maximumDelay: 1000}
	// +optional
	Batch BatchSetting `json:"batch,omitempty"`

	// Acknowledgement is the configuration for the condition when the next batch of WAN events are sent.
	// +kubebuilder:default:={type: ACK_ON_OPERATION_COMPLETE, timeout: 60000}
	// +optional
	Acknowledgement AcknowledgementSetting `json:"acknowledgement,omitempty"`

	// SyncConsistencyCheckStrategy is the strategy for checking the consistency of data between replicas.
	// +optional
	SyncConsistencyCheckStrategy SyncConsistencyCheckStrategy `json:"syncConsistencyCheckStrategy,omitempty"`
}

WanReplicationSpec defines the desired state of WanReplication

func (*WanReplicationSpec) DeepCopy

func (in *WanReplicationSpec) DeepCopy() *WanReplicationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanReplicationSpec.

func (*WanReplicationSpec) DeepCopyInto

func (in *WanReplicationSpec) DeepCopyInto(out *WanReplicationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WanReplicationStatus

type WanReplicationStatus struct {
	// Status is the status of WAN replication
	// +optional
	Status WanStatus `json:"status,omitempty"`

	// Message is the field to show detail information or error
	// +optional
	Message string `json:"message,omitempty"`

	// WanReplicationMapsStatus is the WAN Replication status of the Maps given in the spec
	// directly or indirectly by Hazelcast resource.
	// +optional
	WanReplicationMapsStatus map[string]WanReplicationMapStatus `json:"wanReplicationMapsStatus,omitempty"`
}

WanReplicationStatus defines the observed state of WanReplication

func (*WanReplicationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanReplicationStatus.

func (*WanReplicationStatus) DeepCopyInto

func (in *WanReplicationStatus) DeepCopyInto(out *WanReplicationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WanStatus

type WanStatus string
const (
	WanStatusFailed  WanStatus = "Failed"
	WanStatusPending WanStatus = "Pending"
	WanStatusSuccess WanStatus = "Success"
	// The config is added into all members but waiting for the config to be persisted into ConfigMap
	WanStatusPersisting  WanStatus = "Persisting"
	WanStatusTerminating WanStatus = "Terminating"
)

type WanSync

type WanSync struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec   WanSyncSpec   `json:"spec"`
	Status WanSyncStatus `json:"status,omitempty"`
}

WanSync is the Schema for the wansyncs API

func (*WanSync) DeepCopy

func (in *WanSync) DeepCopy() *WanSync

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanSync.

func (*WanSync) DeepCopyInto

func (in *WanSync) DeepCopyInto(out *WanSync)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WanSync) DeepCopyObject

func (in *WanSync) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WanSync) PublisherId

func (w *WanSync) PublisherId(mapName string) string

func (*WanSync) SetupWebhookWithManager

func (r *WanSync) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*WanSync) ValidateCreate

func (r *WanSync) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*WanSync) ValidateDelete

func (r *WanSync) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*WanSync) ValidateUpdate

func (r *WanSync) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type WanSyncList

type WanSyncList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []WanSync `json:"items"`
}

WanSyncList contains a list of WanSync

func (*WanSyncList) DeepCopy

func (in *WanSyncList) DeepCopy() *WanSyncList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanSyncList.

func (*WanSyncList) DeepCopyInto

func (in *WanSyncList) DeepCopyInto(out *WanSyncList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WanSyncList) DeepCopyObject

func (in *WanSyncList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WanSyncMapStatus

type WanSyncMapStatus struct {
	// ResourceName is the name of the Map Custom Resource.
	// +optional
	ResourceName string `json:"resourceName,omitempty"`

	// PublisherId is the ID used for WAN publisher ID
	PublisherId string `json:"publisherId,omitempty"`

	// Status is the status of the resource WAN sync
	Phase WanSyncPhase `json:"phase,omitempty"`

	// Message is the field to show detail information or error
	Message string `json:"message,omitempty"`
}

func (*WanSyncMapStatus) DeepCopy

func (in *WanSyncMapStatus) DeepCopy() *WanSyncMapStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanSyncMapStatus.

func (*WanSyncMapStatus) DeepCopyInto

func (in *WanSyncMapStatus) DeepCopyInto(out *WanSyncMapStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WanSyncPhase

type WanSyncPhase string
const (
	WanSyncNotStarted WanSyncPhase = "NotStarted"
	WanSyncFailed     WanSyncPhase = "Failed"
	WanSyncPending    WanSyncPhase = "Pending"
	WanSyncCompleted  WanSyncPhase = "Completed"
)

type WanSyncSpec

type WanSyncSpec struct {
	// WanReplicationResourceName is the name of WanReplication CR that contains the WAN publisher configuration.
	// If specified the Sync operation will use existing WAN publisher.
	// +kubebuilder:validation:MinLength:=1
	// +required
	WanReplicationResourceName string `json:"wanReplicationResourceName"`
}

WanSyncSpec defines the desired state of WanSync

func (*WanSyncSpec) DeepCopy

func (in *WanSyncSpec) DeepCopy() *WanSyncSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanSyncSpec.

func (*WanSyncSpec) DeepCopyInto

func (in *WanSyncSpec) DeepCopyInto(out *WanSyncSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WanSyncStatus

type WanSyncStatus struct {

	// Status is the status of WAN Sync
	// +optional
	Status WanSyncPhase `json:"status,omitempty"`

	// Message is the field to show detail information or error
	// +optional
	Message string `json:"message,omitempty"`

	// WanSyncMapStatus is the WAN Sync status of the Maps given in the spec
	// directly or indirectly by Hazelcast resource.
	// +optional
	WanSyncMapsStatus map[string]WanSyncMapStatus `json:"wanSyncMapsStatus,omitempty"`
}

WanSyncStatus defines the observed state of WanSync

func (*WanSyncStatus) DeepCopy

func (in *WanSyncStatus) DeepCopy() *WanSyncStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WanSyncStatus.

func (*WanSyncStatus) DeepCopyInto

func (in *WanSyncStatus) DeepCopyInto(out *WanSyncStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL