//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// SPDX-FileCopyrightText: 2022-present Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
// Code generated by deepcopy-gen. DO NOT EDIT.

package v1beta3

import (
	v1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LoggerConfig) DeepCopyInto(out *LoggerConfig) {
	*out = *in
	if in.Level != nil {
		in, out := &in.Level, &out.Level
		*out = new(string)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggerConfig.
func (in *LoggerConfig) DeepCopy() *LoggerConfig {
	if in == nil {
		return nil
	}
	out := new(LoggerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LoggingConfig) DeepCopyInto(out *LoggingConfig) {
	*out = *in
	if in.Encoding != nil {
		in, out := &in.Encoding, &out.Encoding
		*out = new(string)
		**out = **in
	}
	if in.RootLevel != nil {
		in, out := &in.RootLevel, &out.RootLevel
		*out = new(string)
		**out = **in
	}
	if in.Loggers != nil {
		in, out := &in.Loggers, &out.Loggers
		*out = make([]LoggerConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingConfig.
func (in *LoggingConfig) DeepCopy() *LoggingConfig {
	if in == nil {
		return nil
	}
	out := new(LoggingConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftCluster) DeepCopyInto(out *RaftCluster) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftCluster.
func (in *RaftCluster) DeepCopy() *RaftCluster {
	if in == nil {
		return nil
	}
	out := new(RaftCluster)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftCluster) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftClusterList) DeepCopyInto(out *RaftClusterList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]RaftCluster, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftClusterList.
func (in *RaftClusterList) DeepCopy() *RaftClusterList {
	if in == nil {
		return nil
	}
	out := new(RaftClusterList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftClusterList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftClusterPersistenceSpec) DeepCopyInto(out *RaftClusterPersistenceSpec) {
	*out = *in
	if in.StorageClass != nil {
		in, out := &in.StorageClass, &out.StorageClass
		*out = new(string)
		**out = **in
	}
	if in.AccessModes != nil {
		in, out := &in.AccessModes, &out.AccessModes
		*out = make([]v1.PersistentVolumeAccessMode, len(*in))
		copy(*out, *in)
	}
	if in.Size != nil {
		in, out := &in.Size, &out.Size
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftClusterPersistenceSpec.
func (in *RaftClusterPersistenceSpec) DeepCopy() *RaftClusterPersistenceSpec {
	if in == nil {
		return nil
	}
	out := new(RaftClusterPersistenceSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftClusterSpec) DeepCopyInto(out *RaftClusterSpec) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	if in.SecurityContext != nil {
		in, out := &in.SecurityContext, &out.SecurityContext
		*out = new(v1.SecurityContext)
		(*in).DeepCopyInto(*out)
	}
	in.Logging.DeepCopyInto(&out.Logging)
	if in.AverageRTT != nil {
		in, out := &in.AverageRTT, &out.AverageRTT
		*out = new(metav1.Duration)
		**out = **in
	}
	in.Persistence.DeepCopyInto(&out.Persistence)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftClusterSpec.
func (in *RaftClusterSpec) DeepCopy() *RaftClusterSpec {
	if in == nil {
		return nil
	}
	out := new(RaftClusterSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftClusterStatus) DeepCopyInto(out *RaftClusterStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftClusterStatus.
func (in *RaftClusterStatus) DeepCopy() *RaftClusterStatus {
	if in == nil {
		return nil
	}
	out := new(RaftClusterStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftConfig) DeepCopyInto(out *RaftConfig) {
	*out = *in
	if in.ElectionRTT != nil {
		in, out := &in.ElectionRTT, &out.ElectionRTT
		*out = new(int64)
		**out = **in
	}
	if in.HeartbeatRTT != nil {
		in, out := &in.HeartbeatRTT, &out.HeartbeatRTT
		*out = new(int64)
		**out = **in
	}
	if in.SnapshotEntries != nil {
		in, out := &in.SnapshotEntries, &out.SnapshotEntries
		*out = new(int64)
		**out = **in
	}
	if in.CompactionOverhead != nil {
		in, out := &in.CompactionOverhead, &out.CompactionOverhead
		*out = new(int64)
		**out = **in
	}
	if in.MaxInMemLogSize != nil {
		in, out := &in.MaxInMemLogSize, &out.MaxInMemLogSize
		x := (*in).DeepCopy()
		*out = &x
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftConfig.
func (in *RaftConfig) DeepCopy() *RaftConfig {
	if in == nil {
		return nil
	}
	out := new(RaftConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftPartition) DeepCopyInto(out *RaftPartition) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftPartition.
func (in *RaftPartition) DeepCopy() *RaftPartition {
	if in == nil {
		return nil
	}
	out := new(RaftPartition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftPartition) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftPartitionList) DeepCopyInto(out *RaftPartitionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]RaftPartition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftPartitionList.
func (in *RaftPartitionList) DeepCopy() *RaftPartitionList {
	if in == nil {
		return nil
	}
	out := new(RaftPartitionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftPartitionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftPartitionSpec) DeepCopyInto(out *RaftPartitionSpec) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftPartitionSpec.
func (in *RaftPartitionSpec) DeepCopy() *RaftPartitionSpec {
	if in == nil {
		return nil
	}
	out := new(RaftPartitionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftPartitionStatus) DeepCopyInto(out *RaftPartitionStatus) {
	*out = *in
	if in.Term != nil {
		in, out := &in.Term, &out.Term
		*out = new(int64)
		**out = **in
	}
	if in.Leader != nil {
		in, out := &in.Leader, &out.Leader
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.Followers != nil {
		in, out := &in.Followers, &out.Followers
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftPartitionStatus.
func (in *RaftPartitionStatus) DeepCopy() *RaftPartitionStatus {
	if in == nil {
		return nil
	}
	out := new(RaftPartitionStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftReplica) DeepCopyInto(out *RaftReplica) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftReplica.
func (in *RaftReplica) DeepCopy() *RaftReplica {
	if in == nil {
		return nil
	}
	out := new(RaftReplica)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftReplica) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftReplicaList) DeepCopyInto(out *RaftReplicaList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]RaftReplica, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftReplicaList.
func (in *RaftReplicaList) DeepCopy() *RaftReplicaList {
	if in == nil {
		return nil
	}
	out := new(RaftReplicaList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftReplicaList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftReplicaSpec) DeepCopyInto(out *RaftReplicaSpec) {
	*out = *in
	out.Pod = in.Pod
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftReplicaSpec.
func (in *RaftReplicaSpec) DeepCopy() *RaftReplicaSpec {
	if in == nil {
		return nil
	}
	out := new(RaftReplicaSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftReplicaStatus) DeepCopyInto(out *RaftReplicaStatus) {
	*out = *in
	if in.PodRef != nil {
		in, out := &in.PodRef, &out.PodRef
		*out = new(v1.ObjectReference)
		**out = **in
	}
	if in.Version != nil {
		in, out := &in.Version, &out.Version
		*out = new(int32)
		**out = **in
	}
	if in.Role != nil {
		in, out := &in.Role, &out.Role
		*out = new(RaftReplicaRole)
		**out = **in
	}
	if in.Leader != nil {
		in, out := &in.Leader, &out.Leader
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.Term != nil {
		in, out := &in.Term, &out.Term
		*out = new(int64)
		**out = **in
	}
	if in.LastUpdated != nil {
		in, out := &in.LastUpdated, &out.LastUpdated
		*out = (*in).DeepCopy()
	}
	if in.LastSnapshotIndex != nil {
		in, out := &in.LastSnapshotIndex, &out.LastSnapshotIndex
		*out = new(int64)
		**out = **in
	}
	if in.LastSnapshotTime != nil {
		in, out := &in.LastSnapshotTime, &out.LastSnapshotTime
		*out = (*in).DeepCopy()
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftReplicaStatus.
func (in *RaftReplicaStatus) DeepCopy() *RaftReplicaStatus {
	if in == nil {
		return nil
	}
	out := new(RaftReplicaStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftStore) DeepCopyInto(out *RaftStore) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftStore.
func (in *RaftStore) DeepCopy() *RaftStore {
	if in == nil {
		return nil
	}
	out := new(RaftStore)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftStore) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftStoreList) DeepCopyInto(out *RaftStoreList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]RaftStore, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftStoreList.
func (in *RaftStoreList) DeepCopy() *RaftStoreList {
	if in == nil {
		return nil
	}
	out := new(RaftStoreList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RaftStoreList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftStoreSpec) DeepCopyInto(out *RaftStoreSpec) {
	*out = *in
	in.RaftConfig.DeepCopyInto(&out.RaftConfig)
	out.Cluster = in.Cluster
	if in.Partitions != nil {
		in, out := &in.Partitions, &out.Partitions
		*out = new(int32)
		**out = **in
	}
	if in.ReplicationFactor != nil {
		in, out := &in.ReplicationFactor, &out.ReplicationFactor
		*out = new(int32)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftStoreSpec.
func (in *RaftStoreSpec) DeepCopy() *RaftStoreSpec {
	if in == nil {
		return nil
	}
	out := new(RaftStoreSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RaftStoreStatus) DeepCopyInto(out *RaftStoreStatus) {
	*out = *in
	if in.ReplicationFactor != nil {
		in, out := &in.ReplicationFactor, &out.ReplicationFactor
		*out = new(int32)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftStoreStatus.
func (in *RaftStoreStatus) DeepCopy() *RaftStoreStatus {
	if in == nil {
		return nil
	}
	out := new(RaftStoreStatus)
	in.DeepCopyInto(out)
	return out
}
