func (in *XStoreStatus) DeepCopyInto(out *XStoreStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]xstore.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.BoundVolumes != nil {
		in, out := &in.BoundVolumes, &out.BoundVolumes
		*out = make(map[string]*xstore.HostPathVolume, len(*in))
		for key, val := range *in {
			var outVal *xstore.HostPathVolume
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = new(xstore.HostPathVolume)
				**out = **in
			}
			(*out)[key] = outVal
		}
	}
	if in.LastVolumeSizeUpdateTime != nil {
		in, out := &in.LastVolumeSizeUpdateTime, &out.LastVolumeSizeUpdateTime
		*out = (*in).DeepCopy()
	}
	if in.ObservedTopology != nil {
		in, out := &in.ObservedTopology, &out.ObservedTopology
		*out = new(xstore.Topology)
		(*in).DeepCopyInto(*out)
	}
	if in.ObservedConfig != nil {
		in, out := &in.ObservedConfig, &out.ObservedConfig
		*out = new(xstore.Config)
		(*in).DeepCopyInto(*out)
	}
	if in.LastLogPurgeTime != nil {
		in, out := &in.LastLogPurgeTime, &out.LastLogPurgeTime
		*out = (*in).DeepCopy()
	}
	if in.PodPorts != nil {
		in, out := &in.PodPorts, &out.PodPorts
		*out = make(map[string]xstore.PodPorts, len(*in))
		for key, val := range *in {
			var outVal map[string]int32
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(xstore.PodPorts, len(*in))
				for key, val := range *in {
					(*out)[key] = val
				}
			}
			(*out)[key] = outVal
		}
	}
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1
import (
	"github.com/alibaba/polardbx-operator/api/v1/polardbx"
	"github.com/alibaba/polardbx-operator/api/v1/xstore"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *PolarDBXCluster) DeepCopyInto(out *PolarDBXCluster) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *PolarDBXCluster) DeepCopy() *PolarDBXCluster {
	if in == nil {
		return nil
	}
	out := new(PolarDBXCluster)
	in.DeepCopyInto(out)
	return out
}
func (in *PolarDBXCluster) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *PolarDBXClusterList) DeepCopyInto(out *PolarDBXClusterList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]PolarDBXCluster, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *PolarDBXClusterList) DeepCopy() *PolarDBXClusterList {
	if in == nil {
		return nil
	}
	out := new(PolarDBXClusterList)
	in.DeepCopyInto(out)
	return out
}
func (in *PolarDBXClusterList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *PolarDBXClusterSpec) DeepCopyInto(out *PolarDBXClusterSpec) {
	*out = *in
	out.ProtocolVersion = in.ProtocolVersion
	in.Topology.DeepCopyInto(&out.Topology)
	in.Config.DeepCopyInto(&out.Config)
	if in.Privileges != nil {
		in, out := &in.Privileges, &out.Privileges
		*out = make([]polardbx.PrivilegeItem, len(*in))
		copy(*out, *in)
	}
	if in.Security != nil {
		in, out := &in.Security, &out.Security
		*out = new(polardbx.Security)
		(*in).DeepCopyInto(*out)
	}
	if in.Restore != nil {
		in, out := &in.Restore, &out.Restore
		*out = new(polardbx.RestoreSpec)
		**out = **in
	}
}
func (in *PolarDBXClusterSpec) DeepCopy() *PolarDBXClusterSpec {
	if in == nil {
		return nil
	}
	out := new(PolarDBXClusterSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *PolarDBXClusterStatus) DeepCopyInto(out *PolarDBXClusterStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]polardbx.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.StatusForPrint.DeepCopyInto(&out.StatusForPrint)
	in.ReplicaStatus.DeepCopyInto(&out.ReplicaStatus)
	if in.SpecSnapshot != nil {
		in, out := &in.SpecSnapshot, &out.SpecSnapshot
		*out = new(polardbx.SpecSnapshot)
		(*in).DeepCopyInto(*out)
	}
}
func (in *PolarDBXClusterStatus) DeepCopy() *PolarDBXClusterStatus {
	if in == nil {
		return nil
	}
	out := new(PolarDBXClusterStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *XStore) DeepCopyInto(out *XStore) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *XStore) DeepCopy() *XStore {
	if in == nil {
		return nil
	}
	out := new(XStore)
	in.DeepCopyInto(out)
	return out
}
func (in *XStore) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *XStoreList) DeepCopyInto(out *XStoreList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]XStore, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *XStoreList) DeepCopy() *XStoreList {
	if in == nil {
		return nil
	}
	out := new(XStoreList)
	in.DeepCopyInto(out)
	return out
}
func (in *XStoreList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *XStoreSpec) DeepCopyInto(out *XStoreSpec) {
	*out = *in
	if in.ServiceLabels != nil {
		in, out := &in.ServiceLabels, &out.ServiceLabels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Privileges != nil {
		in, out := &in.Privileges, &out.Privileges
		*out = make([]xstore.Privilege, len(*in))
		copy(*out, *in)
	}
	in.Topology.DeepCopyInto(&out.Topology)
	in.Config.DeepCopyInto(&out.Config)
}
func (in *XStoreSpec) DeepCopy() *XStoreSpec {
	if in == nil {
		return nil
	}
	out := new(XStoreSpec)
	in.DeepCopyInto(out)
	return out
}